From 6aba6058da98ad048933001b89ab8ba9d21c6d69 Mon Sep 17 00:00:00 2001 From: bgravenorst Date: Fri, 12 Dec 2025 13:32:36 +1000 Subject: [PATCH 1/4] Integrate the Web3Signer REST API spec. Signed-off-by: bgravenorst --- .github/workflows/sync-openapi.yml | 88 + .github/workflows/validate-openapi-docs.yml | 62 + .gitignore | 8 + docs/concepts/architecture.md | 4 +- docs/reference/api/_category_.json | 8 - docs/reference/api/eth1/eth-1-list.api.mdx | 64 + docs/reference/api/eth1/eth-1-sign.api.mdx | 72 + docs/reference/api/eth1/healthcheck.api.mdx | 64 + docs/reference/api/eth1/reload.api.mdx | 64 + docs/reference/api/eth1/upcheck.api.mdx | 64 + docs/reference/api/eth2/healthcheck.api.mdx | 65 + .../reference/api/eth2/high-watermark.api.mdx | 64 + .../api/eth2/keymanager-delete.api.mdx | 83 + .../api/eth2/keymanager-import.api.mdx | 76 + .../api/eth2/keymanager-list.api.mdx | 65 + .../api/eth2/public-key-list.api.mdx | 64 + docs/reference/api/eth2/reload.api.mdx | 66 + docs/reference/api/eth2/sign.api.mdx | 72 + docs/reference/api/eth2/upcheck.api.mdx | 65 + docs/reference/api/rest.md | 44 +- docusaurus.config.js | 42 + package-lock.json | 9161 ++++++++++++----- package.json | 6 +- scripts/normalize_openapi_servers.cjs | 75 + sidebars.js | 67 +- src/openapi-specs/README.md | 31 + 26 files changed, 7693 insertions(+), 2851 deletions(-) create mode 100644 .github/workflows/sync-openapi.yml create mode 100644 .github/workflows/validate-openapi-docs.yml delete mode 100644 docs/reference/api/_category_.json create mode 100644 docs/reference/api/eth1/eth-1-list.api.mdx create mode 100644 docs/reference/api/eth1/eth-1-sign.api.mdx create mode 100644 docs/reference/api/eth1/healthcheck.api.mdx create mode 100644 docs/reference/api/eth1/reload.api.mdx create mode 100644 docs/reference/api/eth1/upcheck.api.mdx create mode 100644 docs/reference/api/eth2/healthcheck.api.mdx create mode 100644 docs/reference/api/eth2/high-watermark.api.mdx create mode 100644 docs/reference/api/eth2/keymanager-delete.api.mdx create mode 100644 docs/reference/api/eth2/keymanager-import.api.mdx create mode 100644 docs/reference/api/eth2/keymanager-list.api.mdx create mode 100644 docs/reference/api/eth2/public-key-list.api.mdx create mode 100644 docs/reference/api/eth2/reload.api.mdx create mode 100644 docs/reference/api/eth2/sign.api.mdx create mode 100644 docs/reference/api/eth2/upcheck.api.mdx create mode 100644 scripts/normalize_openapi_servers.cjs create mode 100644 src/openapi-specs/README.md diff --git a/.github/workflows/sync-openapi.yml b/.github/workflows/sync-openapi.yml new file mode 100644 index 00000000..43f2d354 --- /dev/null +++ b/.github/workflows/sync-openapi.yml @@ -0,0 +1,88 @@ +--- +name: Sync OpenAPI specs + +on: + schedule: + - cron: "0 2 * * *" # Daily at 2 AM UTC + workflow_dispatch: {} + +concurrency: + group: sync-openapi-${{ github.ref }} + cancel-in-progress: true + +jobs: + sync: + name: Sync OpenAPI specs from Web3Signer + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Fetch OpenAPI specs from Web3Signer + run: | + mkdir -p src/openapi-specs + # Clone only the openapi-specs directory using sparse checkout + git clone --depth 1 --filter=blob:none --sparse \ + https://github.com/Consensys/web3signer.git temp-web3signer + cd temp-web3signer + git sparse-checkout set openapi-specs + cd .. + + # Copy the specs to local directory used by the docs generator + rm -rf src/openapi-specs/eth1 src/openapi-specs/eth2 + cp -r temp-web3signer/openapi-specs/eth1 src/openapi-specs/ + cp -r temp-web3signer/openapi-specs/eth2 src/openapi-specs/ + + # Cleanup + rm -rf temp-web3signer + + - name: Bundle OpenAPI specs + run: | + node scripts/normalize_openapi_servers.cjs + npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth2/web3signer.yaml -o src/openapi-specs/eth2-bundled.yaml + npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth1/web3signer.yaml -o src/openapi-specs/eth1-bundled.yaml + + - name: Generate API documentation + run: | + npm run clean-api-docs + npm run gen-api-docs + + - name: Check for changes + id: changes + run: | + if git diff --quiet docs/reference/api/; then + echo "has_changes=false" >> $GITHUB_OUTPUT + else + echo "has_changes=true" >> $GITHUB_OUTPUT + fi + + - name: Create Pull Request + if: steps.changes.outputs.has_changes == 'true' + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "chore: sync OpenAPI specs from web3signer" + title: "chore: Sync OpenAPI specs from Web3Signer" + body: | + This PR updates the OpenAPI specifications from the [Web3Signer repository](https://github.com/Consensys/web3signer). + Changes were detected in the OpenAPI specs and the API documentation has been regenerated. + branch: chore/sync-openapi-specs + base: main + delete-branch: true + labels: | + documentation + automated + team-reviewers: | + protocol-pliny + diff --git a/.github/workflows/validate-openapi-docs.yml b/.github/workflows/validate-openapi-docs.yml new file mode 100644 index 00000000..68a880af --- /dev/null +++ b/.github/workflows/validate-openapi-docs.yml @@ -0,0 +1,62 @@ +--- +name: Validate generated OpenAPI docs + +on: + pull_request: + paths: + - "docs/reference/api/**" + - "docusaurus.config.js" + - "package.json" + - "package-lock.json" + workflow_dispatch: {} + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Fetch OpenAPI specs from Web3Signer + run: | + mkdir -p src/openapi-specs + # Clone only the openapi-specs directory using sparse checkout + git clone --depth 1 --filter=blob:none --sparse \ + https://github.com/Consensys/web3signer.git temp-web3signer + cd temp-web3signer + git sparse-checkout set openapi-specs + cd .. + + # Copy the specs to local directory used by the docs generator + rm -rf src/openapi-specs/eth1 src/openapi-specs/eth2 + cp -r temp-web3signer/openapi-specs/eth1 src/openapi-specs/ + cp -r temp-web3signer/openapi-specs/eth2 src/openapi-specs/ + + # Cleanup + rm -rf temp-web3signer + + - name: Bundle OpenAPI specs + run: | + node scripts/normalize_openapi_servers.cjs + npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth2/web3signer.yaml -o src/openapi-specs/eth2-bundled.yaml + npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth1/web3signer.yaml -o src/openapi-specs/eth1-bundled.yaml + + - name: Regenerate API documentation + run: | + npm run clean-api-docs + npm run gen-api-docs + + - name: Ensure generated files are committed + run: | + git status --porcelain + git diff --exit-code -- docs/reference/api + + diff --git a/.gitignore b/.gitignore index 532b1603..6bdb25ee 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,14 @@ .cache-loader .idea +# Generated OpenAPI sidebar files (we use autogenerated in sidebars.js) +docs/reference/api/*/sidebar.ts + +# OpenAPI specs fetched from Web3Signer repo (generated at build time) +src/openapi-specs/eth1/ +src/openapi-specs/eth2/ +src/openapi-specs/*-bundled.yaml + # Misc .DS_Store .env.local diff --git a/docs/concepts/architecture.md b/docs/concepts/architecture.md index ed663115..97976d9c 100644 --- a/docs/concepts/architecture.md +++ b/docs/concepts/architecture.md @@ -14,7 +14,7 @@ Web3Signer is a remote signing client comprised of three main components: ## The remote signer The remote signer [loads private keys](../how-to/load-keys.md) into memory and responds to signature requests. -If you are using an [HSM](../how-to/store-keys/hsm/_category_.json) or a [vault](../how-to/store-keys/vaults/_category_.json) for execution layer signing, the keys stay at rest. +If you are using an [HSM](/how-to/store-keys/hsm) or a [vault](/how-to/store-keys/vaults) for execution layer signing, the keys stay at rest. This component communicates with the slashing database, the APIs, and the keystore (if used), to coordinate remote signing. ## The slashing database @@ -24,5 +24,5 @@ Database locking ensures that when multiple Web3Signer instances load the same k ## The APIs -Web3Signer supports REST and [JSON-RPC APIs](../reference/api/_category_.json) to sign consensus layer and execution layer payloads +Web3Signer supports REST and [JSON-RPC APIs](../reference/api/json-rpc.md) to sign consensus layer and execution layer payloads respectively. These connections should be carefully secured. Web3Signer offers [TLS communication](../how-to/configure-tls.md). diff --git a/docs/reference/api/_category_.json b/docs/reference/api/_category_.json deleted file mode 100644 index 5b202218..00000000 --- a/docs/reference/api/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "APIs", - "position": 2, - "link": { - "type": "generated-index", - "slug": "/reference/api" - } -} diff --git a/docs/reference/api/eth1/eth-1-list.api.mdx b/docs/reference/api/eth1/eth-1-list.api.mdx new file mode 100644 index 00000000..b471f9b3 --- /dev/null +++ b/docs/reference/api/eth1/eth-1-list.api.mdx @@ -0,0 +1,64 @@ +--- +id: eth-1-list +title: "List of available ETH1 SECP256K1 Public Keys" +description: "Returns the ETH1 SECP256K1 public keys for the private keys that have been loaded into Web3Signer" +sidebar_label: "List of available ETH1 SECP256K1 Public Keys" +hide_title: true +hide_table_of_contents: true +api: eJy9k99v0zAQx/8V655NkxSGRN7GVEG1CVV0iIeqQtf02pg5tmdfU6Io/zu6tLBu7Jm8xPH9vu8nPTDuE5QrWBw21lTqljpYa9hSqqIJbLyDEr4SH6JLimtSs/vPhVrObhbTq/e3hQqnsAfqktr5OLqEaFpkOl1yjaxqbEltiJyyHre0VcaxV99p83Zp9o4iaPCBIkq9+RZKkCo/7ubLe9AQKQXvEiUoe5jmubye92dNYuV3l82Ahso7JsfijiFYU43ps59JYnpIVU0Nyom7QFACxogdaDBMTbq4TxyN28Mgj4Z3rzXwEbcq0uOBEssWGmQYNFy95jp3TNGhvZheJYotRUUx+ghSpCGuvexhTwwaAnINJWQYTNYWGXFdZKdZb0+jnhKIjj0cooUSYNB/jjVzKLPM+gpt7ROXH/I8h2GtwbidHwc1bGXSi5ZGma8Xc3jJgtjP1shmhxVLA1L9ZC8mxSQHDdZU5BJJeoeNZL8OWNWkpqP5WWvH43GCo3Xi4z47h6bsbn4z+7KcvZlO8knNjR13E3ziBt1F4ruz/Niisbix/0D6xHZ6OU//hMl/wfzMFNMvzoJF4wSUcRn9WeYVYDCy0gI0iNQCwJPYaw0iovj1/QYTfYt2GOT68UCxg3K11tBiNLII+Ro01IRbiiMdD9SJFFVFQchq0R5G9l/+IILHXwo/ze5hGH4D6kRjxg== +sidebar_class_name: "get api-method" +info_path: reference/api/eth1/web-3-signer-eth-1-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Returns the ETH1 SECP256K1 public keys for the private keys that have been loaded into Web3Signer + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth1/eth-1-sign.api.mdx b/docs/reference/api/eth1/eth-1-sign.api.mdx new file mode 100644 index 00000000..dd03673b --- /dev/null +++ b/docs/reference/api/eth1/eth-1-sign.api.mdx @@ -0,0 +1,72 @@ +--- +id: eth-1-sign +title: "Signs data for ETH1 SECP256K1 public key" +description: "Signs data for the ETH1 SECP256K1 public key specified as part of the URL and returns the signature" +sidebar_label: "Signs data for ETH1 SECP256K1 public key" +hide_title: true +hide_table_of_contents: true +api: eJy9VU1v20YQ/SvEnBqUlrikKH4UPTiG0RoJEsN2kIMhFMPdobgpRTK7K8uGoP9ezFKpZFnpsTpRO7Pz8Wbe2y04XFooH+FeLzvdLWERgiIrjR6c7jsovcEGCh0GdW8C11Bw/fCnCO6vr27jdP5BBMO6arUM/qaXwA4kda1JBWiDAY0L+tpf+XL3McBOBYbc2nTWn1m97NCtDUEI/UAGOeONghI4wV/3N398ghAGNLgiR4bL3EKHK4IStKLOcSYDIWiuc0DXQAiGvq+1IQWlM2s6beYDvfguNo2WzdiU630hEIKVDa0Qyi24l4GTWGcYkt1uMcYl69736oU9TtPIvnPUOTbhMLRa+mam3yyn3b4N3VffSDpuz3DrTpNlK1d0roDjvh5Hr0UIqJTmNNjevory9jY942po6ZAinWRJmot5Nk+iLMnTlH5Not1uzGSHvrNjqDiK/KVXKDb0HFAne0UqGJPwmI/HeQSHo2c3HVrU3W+BbNBYcr+vXX2Rn8XlR81HJUP0XCUVYpYKFWEhkljWVCQ0o0SldV1EWSqEEFFESZYXSmIsClSUYjxTcUaiUGJeJUmaiFmhUORJQkU1L0RVJfk8mVGuZDSbzYuKsiiJRRIX0VwWcaYyEjgrqpmYZUk0F3GeZZWcV3EuIpnXcRQrrLMiUQKrSM2rVFaxUGlcF5TGlOdJnhZ5nmGqCvDAzs5h+R6ZFH63eDNX6MC7zt663o484x3uevZed4qd03NxbzpHpsM2+EpVwhwmE1gyT2QCMqY3fi1W5JqeCTf01i8jc6iEKQ56+iSm5Box5bFOtwe+7ZgpPtBIyLVpoQTYhT8+G+eGcjpte4lt01tXFlEUAXOI2XB34NH16VIeTV93de/XQju/A0ddePW5vL2Bc0q1txqna5TOQghc6GgXEzGJIIRWS+qsz7tXk8sBZUNB7M2vuthsNhP01klvltP9VTv9eHN1/en++iKeRJPGrVoPJ6O4wu4o8Il4/lQ4T3vZHhj0Pwnwnn8HtvIUPBTb/Vo8Ag6aARUQAq8GL8KonOWRHC9C4Kmz/3ZboaUvpt3t+Pj7mswLlI+LEJ7QaKx4so9bUNryt4KyxtaeavYxFL/c7VXwXfCfSn62mf0hdoz2E7Zr/gchMPyvHpTdYhdCQ6jI+PpGh6uxiosHDnMI8EbtmQjjjUspaXBHvj+XQmbHv2S8/Xz/ACFU+6dm1Su+bHDDzxtuxqp7D4/XaH+2hRa75RqX7DsWwr9/AP7NmBw= +sidebar_class_name: "post api-method" +info_path: reference/api/eth1/web-3-signer-eth-1-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Signs data for the ETH1 SECP256K1 public key specified as part of the URL and returns the signature + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth1/healthcheck.api.mdx b/docs/reference/api/eth1/healthcheck.api.mdx new file mode 100644 index 00000000..3e03d82e --- /dev/null +++ b/docs/reference/api/eth1/healthcheck.api.mdx @@ -0,0 +1,64 @@ +--- +id: healthcheck +title: "Server Health Status" +description: "Web3Signer server health status" +sidebar_label: "Server Health Status" +hide_title: true +hide_table_of_contents: true +api: eJztVMGK2zAQ/RUzZzX2ZumhvoUQmtClFLKlh5CDIs/G2pUlVRonDcb/XsZWu0l2YUtvhZ4kNHpPb+aNpgOS+wjlBtYYDhiyJUpDdbYmSW2ErYAKowrak3YWSviGu9u13lsMWRwB9QiII0CA8xgk315VUMJyMbu7X86Xi/knEBAwemcjRig7mBYFL5f861MkbDIdE+8JBChnCS3xZem90Wqgzx8jIzqIqsZG8o5OHqEEt3tERSDABxZDenwvKXy+Fylou4frFC8T6gWoGtXTOVCGIE8vcEZHytxDAmYJJUATNgP6Uo6u3paSqHTFMv5Sf9/3AlxLyjX4NphqzNwBgzQmSyDOKXEOOQETkibDNGO7zNM5R94Xty9tnVFmUHJ9LGY+OIVVG5Btbu1/o/9Fo3sBDVLt+JPvcTBBUg0l5CPFyCBgnBI8YTpog4ESoBe/tjWRL/PcOCVN7SKVH4qigH4rQNsHNySRnj+bO4v75U02+7J6kRLHUzSQfpCK2BV+fYzfTG4mBQgwWqGNQ42s5FrBzEtVYzYdwhfSjsfjRA7RiQv7PEFjfreaLz6vF++mk2JSU2OGWnkXqZH2jPjVoXqlu3vu+z8Yr8lVwh+UeyO15Y4ZJHfJgQ2cO7AVwJXl467byYhfg+l7Pv7eYjhBudkKOMig5Y4Lvdn2gvEVhsGyJzxxfZRCzx4fpGmHj3H9Pdmz3/3wcXEPff8TDxUxHw== +sidebar_class_name: "get api-method" +info_path: reference/api/eth1/web-3-signer-eth-1-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Web3Signer server health status + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth1/reload.api.mdx b/docs/reference/api/eth1/reload.api.mdx new file mode 100644 index 00000000..86bf82fc --- /dev/null +++ b/docs/reference/api/eth1/reload.api.mdx @@ -0,0 +1,64 @@ +--- +id: reload +title: "Reload signer keys asynchronously" +description: "Reload signer keys asynchronously" +sidebar_label: "Reload signer keys asynchronously" +hide_title: true +hide_table_of_contents: true +api: eJyNUU1r20AQ/SvinbeS7NJDdDOJoSahCXFKD0aHtTy2lqx31Z1RXCH038vKCtghh5x2mTcf76OH6AOj2OCZrNe7ZG0OjkJyTx2jVNgRV8E0YrxD8d7D555X6jjR3LmqDt75lm0HBd9Q0LF/tYsTy4fHxR0UAnHjHROj6DHP8/hcL7/V1iaGE26ripj3rcWg8OOz1pUTCk7b5A9tv0+MmcIbhYRC8AHDoHAkqX3k0HgWKDRaahTIwigCCueJKL5HGywKYFDv31qkKbLM+krb2rMUN3meYygVjNv7SEmMWEKBCw7Ll5+zZPG0wkfjIj6hQcxeV8JQiNfP+CydpTkUrKnIMcX1Th/j9kWjq5qS+QhfUTudTqke0dSHQzaNcvawul3+Wi+/zdM8reVoRzOiB0ftLhZ/JcsrET0q74ScfHFYuibeEfonWWO1cTHOUUE/ZbHBlEWpED2Olb7faqbfwQ5DLP9tKXQoNqXCmw5Gb6Plm/Iy3qfH9QuG4T9XAfEQ +sidebar_class_name: "post api-method" +info_path: reference/api/eth1/web-3-signer-eth-1-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Reload signer keys asynchronously + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth1/upcheck.api.mdx b/docs/reference/api/eth1/upcheck.api.mdx new file mode 100644 index 00000000..7219959e --- /dev/null +++ b/docs/reference/api/eth1/upcheck.api.mdx @@ -0,0 +1,64 @@ +--- +id: upcheck +title: "Server Status" +description: "Web3Signer server status" +sidebar_label: "Server Status" +hide_title: true +hide_table_of_contents: true +api: eJx9UsGK2zAQ/RUzZ63tpBRalR6WYLqhpV3ILj0EHxRlYpuVJVUaJxuM/r2Mk+1u0tKThN6bmaf3ZgRSTQS5hhWGPYZsRYqGCLWALUYdOk+dsyDhJ27erbrGYsjiiRlPTAHOY1BMW25BwuP94q5afAUBAaN3NmIEOcK8LPm4bPqDadpZQkuMEj5T4Y3q7KdMtypEpM8D7W4+MBh1i72aaEePICFS6GwDSQA+q94bPHVMKQl4/69xS0sYrDLZ35/BEFwAruyRWscfaZBAgFfUgoRi8LpF/QQCThXs2QhDMCABkni5tkReFoVxWpnWRZIfy7KEVAvo7M5N4jualL7RUD3czbLb+yVcm874GQ3U7ZQm9punn/BZPstLEGA6jTYit7eq5+63XukWs/kEX0g7HA65mtDchaY4l8bi23JRfV9VN/O8zFvqzWSGd5F6Zd80vlyTK8Hja5j/W5hzfq9pc4aTyPHs9xpe/K4FsI/8NI4bFfExmJT4+deA4QhyXQvYq9CpDdu6rpOAFtUWwxTQEx7ZDa3Rc5p7ZYbL0deLxlH9WYEv1QOk9Bs9ygwm +sidebar_class_name: "get api-method" +info_path: reference/api/eth1/web-3-signer-eth-1-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Web3Signer server status + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/healthcheck.api.mdx b/docs/reference/api/eth2/healthcheck.api.mdx new file mode 100644 index 00000000..c8011e16 --- /dev/null +++ b/docs/reference/api/eth2/healthcheck.api.mdx @@ -0,0 +1,65 @@ +--- +id: healthcheck +title: "Server Health Status" +description: "Checks the Web3Signer server health status. Confirms if Web3Signer is healthy. Not used by validator clients." +sidebar_label: "Server Health Status" +hide_title: true +hide_table_of_contents: true +api: eJztVE2L2zAQ/StizqptsvRQ30IwTemyl2zpIc1BkSexdmXJlcbZGuP/XsZ2W2e3sNBLKfRko9Gbj/eepgdS5wj5HnYYLhjEFpWlSuxIURvhIKHEqINpyHgHOWwq1I9RUIXiMx5vdubsMIg4YasJG0dsIjbenUyoozCn5WUT54tdIu48iTZiKY6duChrSkU+CG0NOorJFwcSfINBcfUPJeSwLda399vNtth8BAkBY+NdxAh5D6ss4891v7suEtaLmiBBe0foiC+rprFGj+nTh8iIHqKusFb8R12DkIM/PqAmkNAEbobMVG8ac3EvUjDuDM8pu2IFBgl65HABVCGo7gXOmkjCn2agmFESDGE9oq/bMeXrrcypTMlt/GH/wzBI8C1pX+PrYDaKv2BQ1ooZxDPNOceZgBOSIctpJvtt5nOOvM1uXsq6JmFRMT8ORRO8xrINyDK37r/Q/6LQg4QaqfL8yM84iqCoghzSKcWUQcK0anhj9dAGCznAIH/8VkRNnqbWa2UrHyl/l2UZDAcJxp38OMRcfrGPivvtSqwb82IkjouCqpVYBzInpYlV4epTfJVkSQYSrNHo4siRU8wVrBulKxSrMXzV2tPTU6LGaOLDOZ2hMb39sCnudsUbzllRbUeuGh+pVm6R+LdL+lnf/S/f/4V1PbuE8BuljVXGsQNHCvpZ0T0sFT1IYKX4uO+PKuKnYIeBj7+2GDrI9wcJFxWMOrJw+8MgGV9iGC3wiB3zrTU27JmLsu340J4/d/bAT3+9L+5hGL4D2uNqfw== +sidebar_class_name: "get api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Checks the Web3Signer server health status. Confirms if Web3Signer is healthy. Not used by validator clients. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/high-watermark.api.mdx b/docs/reference/api/eth2/high-watermark.api.mdx new file mode 100644 index 00000000..05b8ab4a --- /dev/null +++ b/docs/reference/api/eth2/high-watermark.api.mdx @@ -0,0 +1,64 @@ +--- +id: high-watermark +title: "The High Watermark epoch and slot applicable to all validators" +description: "Returns the uint64 epoch and slot of the high watermark. Signing of attestations or blocks are only allowed when they are lower than this high watermark. If no high watermark is set, an empty JSON object will be returned." +sidebar_label: "The High Watermark epoch and slot applicable to all validators" +hide_title: true +hide_table_of_contents: true +api: eJzdVE1v2zAM/SsEz1qcZt2A+ZYNQZN9dEDbIYciGBSbidTKkioxyYLA/32gk25J2sPO88UyST0+ko/eIetlxvIex3ZpYKqZUqPTI84U1pSrZCPb4LHEG+JV8hnYEKys5/eXQDFUBrSvIbvAEBad0wjQ5hmoB7d26a1filszU2YtiBlCgrkL1WMGnQiCd1vQzoUN1bAx5AVr27nEloCNFpvNLxJMFuDDmRVshkysQHugJvIWPt9+v4Ywf6CKYWOdgzlB6mqiuocKQ6TUMZvUWOJ4cjX+OR3ejW6+DW++oMJEOQafKWO5w0G/L6/TBp0SQIVV8EyeJVLH6GzVwRcPWcJ3mCtDjZYTbyNhiXtyqDAmIcN2n6zr8lFY5mT9EhUuQmo0Y4n7cWCrUObwT6Hdo/DytUI+6hoSPa0oMxwutgrfvRY68UzJawdTmr+VQVOCTGlNCSilkFCSNMQmSFOX1FWn2WCJhY62WF8UxGZQSO+mR63bY4gud7hKDkvEVj0fDXMsi8KFSjsTMpcf+v0+tjOF1i9CV75lJ/UfsRrdjQcwjBbPdS1+GLEZwDCxXeiKMyqU7Hv/oNfv9VGhsxX5TALvdSPow6grQzDo3CfUNptNT3feXkjL4nA1F18nn0bXt6M3gmm4cV17YsjcaH8EfGcITtfxfNUOepo7Ag6yNrDWztaaQ8rnFe7+CvG/X+KD7pl+cRGdtl6U241md9DdPepOBOsLVCjaQ4Wn6pspFFVJ6G4315l+JNe2Yn5aUdpieT9TuNbJSvvlq1VoSNeUOrk+0la0UVUURe1r7VZC6cUfQPT6ZzOuRnfYtr8BkOnmyw== +sidebar_class_name: "get api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Returns the uint64 epoch and slot of the high watermark. Signing of attestations or blocks are only allowed when they are lower than this high watermark. If no high watermark is set, an empty JSON object will be returned. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/keymanager-delete.api.mdx b/docs/reference/api/eth2/keymanager-delete.api.mdx new file mode 100644 index 00000000..a394a811 --- /dev/null +++ b/docs/reference/api/eth2/keymanager-delete.api.mdx @@ -0,0 +1,83 @@ +--- +id: keymanager-delete +title: "Delete Keys." +description: "DELETE must delete all keys from `request.pubkeys` that are known to the keymanager and exist in its" +sidebar_label: "Delete Keys." +hide_title: true +hide_table_of_contents: true +api: eJztWG1v2zgS/isD4oBtAcWR3+LYh/2Qbt29bHvdounicIhz2RE1sriRSJWkYvsM//fFUJLtJmmLA+7uS+svUfgynNfn4XArTEUWvTL6MhUz8Xr+z79fvL34ef7+9uX8zfzDXEQiJSetqniNmIlmGMraeUipIE+ARQF3tHGQWVPC75Y+1uR8r6oTHv0dfI4e0BLcabPS4A34nHhHiRqXZAF1CrRWzoPSoLxb6IqsU86T9uC8sbikHlykqWIlsCg2ERzrkZGXeRDqCnS50kuorPEkeTmk6BEyY8OCVjlKDxo/dVoEq1zJvBGf8DaPSlMKz1hXbTrb0+eAmadOtquMdgQ5OkiINDjSvgcfcrKUGUtsns9poSU6ApOBXxlQKWmvJBadO1sVWQRbUmJKESTG57BSRQE53hOglOQcu/JzFvcWeqEvNSA4pZcFAXpTKgmOpWuvsIB96B/Gg62eLXS/Bz/XaFF7oiaId7R55p6DRB18UFmT1pIA9QZKts+ppUZfW/orGF1sWK5e6EEPXjamtfvZh46swkL9mzjggM4ZqZDj8jmD2J426C43dZGCpnuyHJrasp2jeLQPQQR0TxpUFpKzzcQmPx+kZ+NPbYDWHnUwkXOA3EJrY7/kXhEJR7K2ym/E7HorEkJL9qL2uZhd3+xuIuFx6cTsWrzeu1bcRKJV4IVJN2K2FdJozjz+xKoqlAwhOf3DcblthZM5lchfflORmAmT/EHSi0aOspTyCa0xLL6yHFevyPGmbuKwH63FzaOyfsPVZzJ2VaFkUxzetCnZE5FQnspjMc5bpZciEhV6T5Zl/CteX+NJdnHyKj6Z3mynZ7u/PDrnQ05wj4VK0Rv7g4MXb66Ozoyg1upjTcWmLYtsw773OZU9uB2dnyQbTy6CnNZAWpqUUlgpn0O8hspSptYRhNpS2pF2yqt76t2GUNEay6pgzeP1dDgYTbLBIJ5iIlFm40kyGeO4n2KGNJlMsmmaDs8TOYnHw7SP2XhwxqtxMjqf4lk6xMFkPKRxNqTzpC8zGk6T8Vk2Gp71+2k2GaGIhFc+HPYu+F/smh8HrUnQ4MpBHPOfTz10VTe13a0U0X+QIu2pTbm9po17f5DypfzhlOZ8brP99pDtj1MqrP1aPgUNuFicR187Tq09TSj9BEk00AgOSwJjU7JPJd2TujcnPNazHX8iZT9V9aTD8hmrByt0gJIzJ+CUpdLcU7rQJwx5t83M7PNE08ARpZDUfi+PwbLZ2cnJTK2PDuQFYYiLLvBNODWChm4Ox4UzGH8bUgpHsUyy1tgZ1JrWFUnGUWl0w5dQEgNbi/EgG+w0/ugceNbNttbXTLKNRlGwZEXNRv1D4MgKaqYVUP45nIDPlYNVkJtQYJylbgijxLtmWedSKhytmA/b9ViUxnmQZJlgiw1IrB3BxtSQE6Yoc3JwerB/b5UD8rJBYdJ1GZK4CaOIxCFS7T/BEl7KbuJUOcBBt2sXiZKcwyV9PWWCGGiXM8u0Wf7jj00gRFPsT5XTV2X/cvXr2wM7cgJWlvgi0VA13xq6i86j5FOaLzol8vUkC/cVpWF++e5kGE/OZnDVefHdYd+l9mRljnpJ8Crs7T3Ay+1ClOQxcLCYbRdCHbbcNsfd3vMNyuiFmC3EeCGihViSJqfc7R7s3a01xocV8Vpm5xSnI5qOzyfDs2kyGMb9NJ5M4+FoMhzEw3ggZTwdDdMx9s/PR+OzeHg2ofNBfJ5OB3E2WIhdtBCtStfbRctzrfT/Nb4HAznJKb1NCiPvHGtxcxhkSnRNwJqp3c3uiBS6OBzC8JIxteOI0VO08ALT/dUF3jcfoVpLLDgIlAas+KS6K2uYSkJJ/FeuGV2BPMLao8p5yAMeVUEpfFIyBzbaF8FxQe4FdNnebA6IYqSsLavDnuocOuf5PdV1Xuw/Vuc3jbXPjeXKihhYvbnje6KDDiG+QT8NH6vzythEpSnpCPCBjwIdKGbxUNrfosvGTxVoAFKNBWM39yVBcGj+9iNamppXhVo95upGCaXT4Lv70BtiIAFTO8iwLvz+grRxnsoIjAWEpF72vr0ABKb2uUn37N20IbmYiVPy+el9/3TfxoUujd3vQpNW20LMhNhF3WfufTU7PS2MxCI3zs+mcRwL7t7Yfe8Pvdq8M+Koqbr+fzQTN7tIKJ2Z4wv+PygZXjHXWJh/+NsALir16CLB8zD3+QAurFcZSs/OaJlazMSgF/diEYlCSWLXzrZCY8nSLyq+d8EgTH/iptVq1cMw2zN2edpudadvLn+av72an7DM3JdFiGBlnC9RHwlunwG4Mek91PeoE/7+yPT9ken7I1P3yNSiqae1P60KVJpblVCV2xb1rgX5nGu7LyJxQL6bSDCi8fx2m6Cj32yx2/Hwx5rsJlxZxT1ahQmDyjUDDTddZANU8rvFTPzUFOXJB9aClxd16Pof8gwjarPjQkqq/BfX3hwh+P6dOWkfxEqT8i6LK2YoXDFeR8IEmAiEFMa2okC9rAMxiUYq//4E1/L75Q== +sidebar_class_name: "delete api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +DELETE must delete all keys from `request.pubkeys` that are known to the keymanager and exist in its +persistent storage. Additionally, DELETE must fetch the slashing protection data for the requested keys from +persistent storage, which must be retained (and not deleted) after the response has been sent. Therefore in the +case of two identical delete requests being made, both will have access to slashing protection data. + +In a single atomic sequential operation the keymanager must: +1. Guarantee that key(s) can not produce any more signature; only then +2. Delete key(s) and serialize its associated slashing protection data + +DELETE should never return a 404 response, even if all pubkeys from request.pubkeys have no extant keystores +nor slashing protection data. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/keymanager-import.api.mdx b/docs/reference/api/eth2/keymanager-import.api.mdx new file mode 100644 index 00000000..7309d705 --- /dev/null +++ b/docs/reference/api/eth2/keymanager-import.api.mdx @@ -0,0 +1,76 @@ +--- +id: keymanager-import +title: "Import Keystores." +description: "Import keystores generated by the Eth2.0 deposit CLI tooling. `passwords[i]` must unlock `keystores[i]`." +sidebar_label: "Import Keystores." +hide_title: true +hide_table_of_contents: true +api: eJztWVtv2zoS/isEX/ZFtnWxbgbOQ9qmp9le0bRYLOIgHZFDSycyqUNSSb2B//uClHzJZVucRYEFtnUeLIvD4ce5fMNh7qjqUINtlDzjdEFfn/7z7cm7k99PP16dvf3w/uMnGlCOhummczJ0Qc/WndKWXOPGWKXRkBVKpwE5qTbE1khObR1PQ8KxU6ax5PmbM2KVahu5mpIvHRhzqzQ3F83lF7LujSW9bBW7Jl/2Kt3QdCmX8rNBbcj5q/ef37wgBiUnpgVTN3J11WllkTlMhIMFAsYo1ngYt42tPZDGQ0VOur5yyqfk7efzT0SotlW3XkIovQZLOIpGIieNXMrTsw+TJMyzBTkf1yIfDmudSYua1SBXSF76ydOlpAE1yHrd2A1dXNzRCkGjPultTRcXl9vLgFpYGbq4oK9xswYJK9T0MqAa/+zR2GeKb+jijjIlLUrrHqHr2oZ5t8z+MM7ud9SwGtfgnuymQ7qgqvoDmaWDnkYjdyvsjUgDure1W6zTztO2QeNUHMQO+kBr2Dzy99/P37+boGSKI997nYimvef6vc3fQC9Z3QGf0oA2FtfHKxirG7l6cgliUDfQNv9CTjR2Gg1K6w1AlCBATCNXLR4ANJI4T8VJki7IszfnUTxJioi83gM8cg5+hXXXOgB3S3qD2jRKLuliHixp3zd8SRdLWoo8hUTAJMIUJvNSlJMKEz4RKURlnpcsE7CkwZJ2YGs/Yz2L4qSIZkkWhjP/N4z7WPMS4dcyiee5iOOwhIoBE2le5SmkEQcBmOe5KDlPiorlYZrwCEQaZ04a8nlRQsYTiPM0wVQkWFQRE5iUVZqJeZJFERf5fEDE9KazakkXd0t6zcXwIHrpI9YD6aprLuIRvoa1GWT4dYtOIImdliVdxFkczZ1ZOi38xHoNbGJqiNPMzzbQWj9QCFGIOEaRxjHMQ1GWLGMY5oIzwSJezYuSp3MuKpYhS9IsSpCLlBdJJiCah/mSboMlXaMxsEKvcXjDamTXpl8/sYkjGIdNPNRSZnkBWVkkCY/TPMNknkWcpwKKUGTA8qRMUsAk5FnJwzxLS8jDskoYT5DzCpMRRdPVqJ/AAGgmUVxMmNWPrNnceJEkqrJShMDKPM4inM+jeVTFGUDIISsT8XjnWMRxUYFANhesAgZJVcQ5pkXGAXhSRDxNkqSM0rQKkzmmCIBZnlV5lEIVprik2+2WBtQ21gf5LgfodnvMAd9L9A87SWLVjpP3DHo/8f8Kj3+LBg6JefLs+YvTl7+/CqM4madZ/vC338sT5P8jyMXRlldNHhaVRj6uEOS/KxD3OGiNFtwCY+AcplwNy10dSGpJUx9pjmpNY65uoG04WKXNlVbKjjzDRIEhn2OZFnmSlVWchBEP8zJM5nkSh0kYMxaW84SnEBXFPM3CJMuxiMOCl3HoqMEF5Qjp4u5/wWKmWUnkV5WLIZdRF5eHl2AtmsFhw9D28jjgd344uOEFWHBZsXVho9F0Spqh1sVh6L7ux8h5zxgaQ3aSNPgLxXgEMZyLdrlnPh5UfatcO5M/rs7+7ffy9dyC7T3mvrUujhFYTb6Mh4rpPgu/DMXZwBpJi3JlawKSE6U5ajftiRlP5OyT6I2H8Bj/+P67uTnZE8ziULnN4AzRt+2GcPTVDbnHvKcjqxwjjUcp0qFeg0RpidPgaFVOCO8Hr+FB9d/MeBIkjSHQagS+IddS3Uqn0NHAQalTgVorvSAnckOUrVGTYV+EN0KgduuN06BSN7jYgXWM4KcG5Gz2fng0AUHLRiqQ/dpZb7cbZ5YdWDfs5J1ND5Sxl9wGu8rxfeN6PWQUJ43Yof/ttwHSmB8+ReZPZcUzcGw5xAb5ODyQWzBkDa3jqdEpTPUtJ1JZUqFjUOc8v6kfcp7dbfdRjB3Z4T7sF2ihaZGTewY45OET1edIwa4gDJNtDZYoxnrt4DhL7dL91I3vk3xnxegxnM8Selsr7YpPQKQiVl2jdBEoVC9/Ujslj+G8VLpqOEcZEHhgI1L11v1opK9+P6PJ0qcS1J81JLTueHODelA8JZ/ceWZ8I5nqnZTPVdJL/Nohs/sdNJJ7293g2GWhblRviABXUxo5nI02xuI6IEoTIFW/mv58DvC8a2vlrkg6Zaxvrl17T2do69lNNDvuuwfjG38X0OuWLijdBrvH2tpuMZu1ikFbK2MXZRiG1F0SOON9PFwJnO62cK9bv/jVw/7qYf9fe9jLe/3qxfe7wsv/0BT+arJ+UJO1DWgjhTpudP6BVXLupmhy+ulVTE665nFv0qykvwcmJ9o2Aph1vDganC5oPA2nIQ1o2zB0HLu4oxLW/iKgA1Yjif3wPca8vb2dgh+dKr2ajVPN7M3Z89N356cTp7O263a49lDGrkEeKR7vrfcN2vQh6KML2F+X3E/eYYxF1uJXO+taaKQLD++ju7EcXlC0tfN0RIOjqnUZUFfqfPW6q8DgZ90O6f5nj3rj45DegG6gciF2cbkNaI3AUfsaeo0buqDPB+9MPjkUTrztfXP88PjhSu0w44Qx7Ow3ZS+PCvuH9+fu3x3VeB2/VtzN0XDrji1w68p4QJWPFn9K8e/uaAty1fvTCh10us+/AQnifo8= +sidebar_class_name: "post api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Import keystores generated by the Eth2.0 deposit CLI tooling. `passwords[i]` must unlock `keystores[i]`. + +Users SHOULD send slashing_protection data associated with the imported pubkeys. MUST follow the format defined in +EIP-3076: Slashing Protection Interchange Format. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/keymanager-list.api.mdx b/docs/reference/api/eth2/keymanager-list.api.mdx new file mode 100644 index 00000000..2874f8af --- /dev/null +++ b/docs/reference/api/eth2/keymanager-list.api.mdx @@ -0,0 +1,65 @@ +--- +id: keymanager-list +title: "List Keys." +description: "List all validating pubkeys known to and decrypted by this keymanager binary" +sidebar_label: "List Keys." +hide_title: true +hide_table_of_contents: true +api: eJzlVm1v2zYQ/isHYsA2QLFlO45jf/M2twuaFUWTYhgyLziRJ4uNRKrkybFm+L8PJ8dxWhcDBuxb7Q+WeS96+Dx3PG6VrykgW++ujJqpN4s/fpu/nb9evL+/vrq5VYkyFHWwtXiombq2kQHLEtZYWoNs3QrqJnugNsKD848O2AM6A4Z0aGsmA1kLXNgID9RW6HBFATLrMLR/OpWoSLoJlls1u9uqjDBQmDdcqNndcrdMFOMqqtmdevMcrJaJChRr7yJFNduqYZrKz+c4bxqtKUY4eKpEae+YHIsv1nVpdbfr/scoAVsVdUEVyhNbLulpr2+oje+PObitxeKzj6RZCZBPjQ1kBKJBRgFXB6GU7R5dtypJ95EYArYqUZapii/Wv5rxyPH9nuPT9Kcux5yRg3UrlagamSkILX+lmzs8y+dnr9Kz6XI7vdh9dyLxbUEHdX34PsJP1zcicWm1SJhA4+ynhsoWrCHHNm+lBrigqgf355dnWcsUEyhoA+S0N2Tg0XIB6QbqQLndJKAxElgXyUXLdk29+64UaINV3TGfbqaj4fkkHw7TKWYadT6eZJMxjgcGc6TJZJJPjRldZnqSjkdmgPl4eCHeODm/nOKFGeFwMh7ROB/RZTbQOY2m2fgiPx9dDAYmn5yjaPkk87s9bzvhIdh1VxX3NUoNnlJ5StUxCCQIfrC5bDSSY7BOiAFb1T5IK0ibsA/0Y++z7Vb9wXB0OeiPLtK0330FTSA03pUvFc28LwndV3E8UAsYo9cW+cB513f7ugCNznmGTBCXJC558FWHb/7uSu0On0Sdp4PThvrgsOHCB/s3mQScB/YP5MBGyH3jzH/qr38p+YpixBWdFvrBcALsF2K0JRmgEHyAg19yIt2R7xcJwOcdBftgLpDBa90EgSNcHIpkIfbng+DA0+gUzisfMmsMuQTwC44ga1j+WNe117dI2fhrZ/WVk9MJS4gU1hT2iXsgRX1Ycdo34kUG0EHjaFOT5ucdWGc67tYk4FDCrG8i5NiUz10Y28hUJeADIGTNqvftCbBLVEVceJn0K+L9aCjUTPWJi/560D8cULGbzMJ97AZzE0o1U2qXHB4L5nrW75deY1n4yLNpmqZKJrZ1uX85RX+nbHRjV44CLG5/HcK8tifnl9hhwcUQ5oFtjpoFgLx9bx/20l6qElVaTbKX2VY5rCT7vEZdEAw782fQHh8fe9hZez6s+k+hsX999fPi7c3iTHIWXJUdZbWPXKF7kbi76Mj0732Jdnusmv//OvRUAEwb7tclWieToNvX9kmrO0VcCDsDlaijXstEiQ5i324zjPQhlLudLH9qKMj1apmoNQaLmchyt9wlqiA0FDqBu5uDmmtNtZTFGsumu6582RSi8HMJvV7cqt3uHykXiTo= +sidebar_class_name: "get api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +List all validating pubkeys known to and decrypted by this keymanager binary + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/public-key-list.api.mdx b/docs/reference/api/eth2/public-key-list.api.mdx new file mode 100644 index 00000000..5e94ebe3 --- /dev/null +++ b/docs/reference/api/eth2/public-key-list.api.mdx @@ -0,0 +1,64 @@ +--- +id: public-key-list +title: "List of available BLS Public Keys" +description: "Returns a hex-encoded list of BLS public keys for the private keys that have been loaded into Remote Signer." +sidebar_label: "List of available BLS Public Keys" +hide_title: true +hide_table_of_contents: true +api: eJy9U9tu2zAM/RWBz27s2HHc+K0tgi1oMBRLi2EoioK26VirLakSkyYI/O+DnHS9oM/ziyVeDqnDwwMwrh3k93CzKVpZimvaw0MAFbnSSsNSK8jhJ/HGKidQNLQ7I1XqiirRSsdC1+JyuRLmmP1EeydqbQU3JIyVW2Q6GrlBFg1uSRRESrQaPYRUrMVP6jSTWMm1IjuCALQhi770ooIcbu4ul4urx+v578flYnULAVhyRitHDvIDxFHkfx8bfm3tXVsQQKkVk2Ifjsa0shyKhH+czzmAKxvq0J94bwhyQGtxDwFIps69szu2Uq0hANphZ1pvinazJJ5kdRxHMyxKLOs0K7IU03GFNVKWZfWsqpLzosyiNKnGWKfx1EdjNjmf4bRKMM7ShNI6ofNiXNaUzIp0Wk+S6Xhc1dkEofdfAJOv3nuJlbD0vCHHnv4OGfoA0q9CF4rJKmyFI7slK8habcEjd8SN9oyviSEAg9xADiEaGW7HIXETh0c+r490HgG8eA6wsS3kAH3wemyYTR6GrS6xbbTjfBZFEfQPAUhV64FMyQN1v6hIjrMX89vvsbgwEj4L0PvFnJtYXFiWNZbsG/DVj/54FI0iCKCVJSlHHl5h59EvDJYNiXhwf2jt5eVlhIN3pO06PKW6cLm4mv9Yzc88ZsNdO3BjtOMO1Tvg5UliuEXZYtHSsAdvW+Q+P+Lwpr//vVAn3TLtODQtSuXVMZBxOI35HnCgfTv2suYm9gJ4G/ZDAH6IPu5wKNDRnW373pufN2T3kN8/BLBFKz0R/tYH0BBWZAd1PNHej6IsyXhlbbHdDPv1eQm9PP6p8Nv8Fvr+L7gQiYM= +sidebar_class_name: "get api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Returns a hex-encoded list of BLS public keys for the private keys that have been loaded into Remote Signer. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/reload.api.mdx b/docs/reference/api/eth2/reload.api.mdx new file mode 100644 index 00000000..baba3be3 --- /dev/null +++ b/docs/reference/api/eth2/reload.api.mdx @@ -0,0 +1,66 @@ +--- +id: reload +title: "Reload signer keys asynchronously" +description: "Reloads signer keys asynchronously. This is used after adding new keys to a current set of validators." +sidebar_label: "Reload signer keys asynchronously" +hide_title: true +hide_table_of_contents: true +api: eJzdUk2P0zAQ/SujOZs0KuJAbtVSiYrVLqJFHEoPU2faWOvawTPZEkX578htEN0V/AFOtubjzZs3b0Clo2C1xS/sI9WwdsfACT5xL7gzWLPY5Fp1MWA11QjIteiJewGSPtgmxRA78X0Bm8YJOIFOuAY6KCegunbhCIHP1xaNQGC7lDgoCCvEAzyTdzVpTFJ8D5uGwZL3kKaB2vA0LdRwoicW+Mb7txMPOlPiDJLLbEPhyAU8RL1y2Pd/wMF6x0HzDDQYW06UV1vVebnl/ePiAxpMLG0MwoLVgPOyzM9LHe4yNycgnbUscug8jgbf/a10FZRTIH/hO4krnJ45AacUE46jwRNrEzOHNoqiwZa0wQpn1/XR4LUj32nALnmsEEfz+9uottVs5qMl30TR6n1ZljjuDLpwiJmSOvWMFd5wWG4+zmHROnx945yHpTZzWCR1B7IqaDBPv+bnRVmUaNA7y0E4wwc6ZfRFS7ZhmF/SL6idz+eCLtkipuNsapXZ/epu+bBevsmYjZ78RYyswYnCDfBkzX+77vUSA9oYlIP+f57Vvs2SKP/UWevJhey8i9jDZJstTrbZGcx2yJFh2JPw1+THMYd/dJx6rLY7g8+UHO2zO7a7Wyd+flxvcBx/AfmfbG0= +sidebar_class_name: "post api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Reloads signer keys asynchronously. This is used after adding new keys to a current set of validators. +The call reloads the keys and makes Web3signer aware of the change. Not used by validator clients. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/sign.api.mdx b/docs/reference/api/eth2/sign.api.mdx new file mode 100644 index 00000000..e3ca5159 --- /dev/null +++ b/docs/reference/api/eth2/sign.api.mdx @@ -0,0 +1,72 @@ +--- +id: sign +title: "Signs data for BLS public key" +description: "Signs data for the BLS public key specified as part of the URL and returns the signature" +sidebar_label: "Signs data for BLS public key" +hide_title: true +hide_table_of_contents: true +api: eJztfW1zW7mR7l9hse6H3ZSSAdBAA5hvss04rvVYLkkzN9kpX1UDaFjc6G1JasYul//7rT6kJFIkZXpMj2wJTlWi8JyDgwN0P2g83ej+0J/Q23H/x1/7B8O3Z8Ozt/03O/3C4zwaXkyG52f9H7sL416hCfXq+ag3Oebek5cHvYvLdDLMvX/z+974gvOwDrn0aNy7oNGkd167+37ef9mjs9Ib8eRydDbufhsP357R5HLE/Z3++QWPSF7zosiLXjx/1d/pX9CITnnCI+nWh/4ZnXL/x/6w8NlEXjLq7/SH0q8Lmhz3d/oj/t/L4YhL/8fJ6JJvd/5WT4dnvWN+J99xSpPuc34/Hubj6ddNzrvO9Xf643zMp9T/8UN/8v5C3j6ejGRsdvr8jk4vTuQn9S6GWMB648ikmqFqp5WrUF3NwVtdLWA2jlkz2xptYGtcwZRTyA5TZmSF2WBEcMlzDI58rYQQ2VgVU+1//Phm+n08njw5L++lQ7c/N5+fTfhsIpfo4uJkmLvx/OF/xvL5H+a+5PyM92o3onRyMvtr9nXn6X84T2ToRzIjkyGP5Yl6Pvr30fCsns8NxB23yv8uDv7fz0f/7kkDMtry084nmrkY8W/D88vx0W88Gg+nX3BBkwmPpLn/p979Sn+tu3/9u/prfPMhfPw/Nw1eT9BiD17PGuzNGhTB7Pq6OJNq+k/3P+708+VoxGeTrXXh6bS9z+gBX5zn41XCt9jwQG7r/UYnlyxyfdDdNRPt/k5/9seP/cvh2QTtwvt0/+PHnf5kOOn+n0yTvPctn/F4OD76jU6GhSbno/HR6Px88umePJ8+2Pvl+sHe/vn55ErbxvM9+9vtD7dePtxXSjmYYNBa4oJFZ58jG10gkAJS2SbSESpQZWtCMDYBoYfuS26U4tf+bHDXfcybjzv98RTq9jf6uNnNPXm6Q4zz7gqdyIwO60zhesPaq0M+Kb2LEY9FIRc/k8iwyhZd1mRd8QkRfM2ZLRXMnLyuWRuFNjkblA8FdSSrdVWFA5W88jOnyvnmZiavMPzjzqcUdnr1U98+a6+3P8WgXnf3Tp/PLk+lD7vPn+8Pnu8evth7dXTwcu+wG1x6+3bEb7tBORqfLIzwmr7cuuu6L7cl+OPH24Mw68/SK998nBuU3ZurByfnk/kxWvzav/yl92zwen/wdPdw8Kz3l7/0Dph7V0/z7ll5PTo/r7PnfzEiyQ1KG5Q2KG1QujUoHRztvnp29Hp/b+/vC2jKR3RWji4EgD4NIVcPnY+OhmeF320ErnPv2vwNgrhpOBkvv+HjTl+M6i2iv5j9m39MYsrSuZPz/O81uifie345yht87xocEUFa3fQcJjw95vzvi/Ph2UTun9DoLW+wKG7rjXM/704mPJ50k/ZMpmamvtPN2J0Nzj35+pjGrLpn+YRzJwG3xXKNCjx5P+FxRAEyKpyHp3Sy+JbbS+3Vu+5e9edVY+XCf3vp7nS6rdxt5W4r9+NeudcsrjdMyd2PzynHEk00W9Zf/2P3YKCWObUrPZic92bE1vvlnUZvNGcr/G3zFbUt/235f8DL/5XazSTsrgV/Zmxfd3oLGr378nD3xX7T6KbRTaPvT6N3TyY0HG1Ho58MXr7cPdx/8c+m1E2pm1Lfn1I/4ZMTmoyG77aj1093X4tmN61uWt20+v60+ildiF5vR6efDV4NnjSNbhrdNPr+NPoZn3Hajj4PXg6eHu63Nbpp9Pen0RJ7d3o6nEyY183x6sYHoukj+nO0/vplX6z2N93eguL//eeXPzetb1rftP4b1/q/X55c9sWrXobSo9PhmWhQv/NTdzPz/tU0QPum6VO6uJCv+PHDlf/rk/PaXGkNMx4uZjwg2/+m0zNH2DZUu/nUmmo31b5v1b72qc15xLah3c2/1hS8Kfg3oODz/rVr79g2NLx52pp+N/2+d/2+8bTN/GTb0O3mcWua3TT7G/G4XfvLtqHZzffWdPt71e3HxsLPdbvznG1D/5sLril/U/7vQPmnLrjl7BcrD8B+url7PNJ+9Ivpv1l5nHejg7u/mHZ0tx3dbUd329HdLSHU4eHg4LDLXzRNtnGzVDTz4Bs2D9bkg5ibvcXl5ObCZyZ/etJNxhOZi9mTLelTW3/a+tPWn62sP09e7j39r25EO7jf6pojD56P+fM22hfUqe76ZWciu421l9MsR+ndHzGis0LnRyP+jelkZTs8OdZHm23SC1+cj4d3dPnqhnx+ebbp2E0X32Mar1rI5hR/MDnWVxvWtyOqdTgZbriTBLO4k5ybsPEJjY+HZ2/n97U0GtF7SXw74dPxBnIyfHvG5eiYqfDoSH/6gVMej+ntBgbFvUrghiN5l5Ru2IRI8pe0MCckczbEP7r5+Ay/xUE3j2tbuJli06b4oU3x3D2vZ8N8MEOG7uLU3N0OXsyZzpugxfT24dlbmfdh5k3evF4iGiH77e+4NhbnFzLwXOYa6C9urDeBqiZfTb4+Q76WGl6JlN3NX4KRzbP0mARtRcjIzW7iC8TotrvpE3i2OXpdXKZ/8/uVw/f7cHJcRvQ7nRzlEXdeXTpZLcB0unqftPnAPZsO0TVTd+v37rffzk8uzyY0en/E775oNDc2atdyQiv06Jry+Ayzdu5Df7n6uMG74eSzLcFbT68xM7tqIGuureNHpxzDAjM6z2w211qjNhu12ajNBTOif3/pcLv3LwcaNaa0MaWNKW00WmNK2xQ3prQRDN8twdCY0iZfjSltgvbdC1pjShtT+kCY0puzGTOy9BZVes/1RB4FJbIpBd3IkUaOtJ1zI0faFDdypG1eH9ieopEjTb4aOdIE7bsXtEaONHLkWydHPkljjN+f5aPPSMLS3f+pHB1LZ+UO/nvJPF9s544B+NxsHQfvz/J1lgkZnjdrx+cqLe7qEZy7+geIpHssY3kXlzTbDrY93p+yx7tbdK7mYo0E3WfNxCZCD0KE7qtAXxOfByE+91UNronPgxCfe6oq1qTnQUjPd1md6lG4ce/+iOa8bc7bxw17zXnbprg5b5tz7QH6PJrztslXc942QfvuBa05b5cEpzlvvzHn7VeKbL+v8r6PghtpIe6NJWlb6MaStCluLEnbxT7SzUVjSZp8NZakCdp3L2iNJWksybfOkrQQ93sPcZ8LUN8GqdTC3b/T/d7Wwt2vg9W3IU4t8P3xCdNN4PssbH0bgtQC4B+bGF0FwF+Hr29DjFoo/OMTpLny5F0g+zbkqEXEPzIhWlcsfiGr++qtwJ9cH76rfrlhRfjlQrx/Vi+fDV7vHbw4XFUcYFvFAJa5sRkBcP9MxlWphK6kwB1ws0Lm7S2RXznJN9/6Zon/aHVJWl2SVpek1SXZKpzv7756trt3tD/4ZbD7shvZdUE2X0yPzonrfveO/ekr1gDhYj8WVr/5xxsqNlRsqNhQcauo+Mvey59fHe7u/+to8M+ZrbvoePqW3Uar4fRW/xfwdKGBBqgNUBugNkDdKqAe/OvV06Onez/99OLwcDA4+mlwcLD7fDAd4kWP78Z++Q1iVjYlwDYl6W55k59edfqnWZ/XQO+aL1yA4FXtNSRuSNyQuCHx10Tig86x9mLv1dHr/b29v98g8lXsz/noaMziiJHoxa0HKY4v0w0w/iHjdz6s53x0cNXV6yCydXi8/vvW4/J1668lFK/Bc4PnBs8Nnr8mPD/de3W4/+LJzx1C7756NofS+fxsMhqmyw646Kwc3Y4P/kQ0+mexDTv9G5C8/Z7Picdc7PZWl5It7gf+2KK0s0Gg/yYRsNsNeb1evJ7OD/xCAPzchd2z0q1t65bONUK3fslc1fgfWTi3Q+vtvnzxbPdwb/9of/D8xcHh/q7o1Z/qyr6h+kb8djiejGgzRajMRyPOw4shrz6MvEIyjLotW29pfHQyPB1uqlOT4akcZTi92DQcZZ3/fZ6tvBqB/fkBWMdarh6uRfZyVYPXMrZBLsTZu+YSIe4+f74/eN5Jx9HBy73D/mccUm8mXjPxmonXTLy1q9ASuLy5ZTrcMnq+1DRaF2m09MoFVN29uXpwcj7nFbru/2DOIF0Csb/8pfds8Hp/8HT3cPCs95e/9A6Ye9fHb25ZAr8Yke8GsA1gG8A2gN0awA5u7ZivjzP+Cdvlzzg62Y6HX7XwWI+Hb4td+bi8fF8vtXNH0e+wBXjdpn7d0r3GIJAw9rZnakt6W9If/ZK+ZtU9P+ONoGHLtSaWcGz5hNdmS22zC5pd8IDtgptDdlOf+B0t3E6VugWN/pwMqU2jm0Y3jf4aGn2P1VibUjelbkr9NZT6PgvkNq1uWt20+mto9X3VLG4a3TS6afTX0Oj7KiPdNLpp9Dek0RJyendS2TWNzyUP+/paf/2yL1b7eyr/3bS+aX3T+nvT+u+ybHvDjIYZ3xBmPCDb/96rDjbVbqrdVPur+tTut/xDU/Cm4E3Bv7Z/7f4qcjT9bvrd9Pvretrup0hK0+ym2U2zv6bH7f7q1jTdbrr9Den2Y2Ph77feUFP+pvxN+e/ZBbecLGPlydhPN3ePZ903LCG1PhlH53g4PBwcHE7zY7WDvO0gbzvI++gP8m4Hr+ZwpcvJcbNwNGPhGzYW1qSNmJu9xcXl5sJcooiuwuEy5q/MFbVc4bDliGrrUFuH2jq0lXVoCkVvrgr6bnXtudh6Jd9PVOmdVeD99Eesq+130w5PjvWGaf5nlUrX9+nqhry6nOrqtXha0pfGqxa0OcUfTI711Tb27YhqHU6GG+4vlxM+X0/Y+ITGx8Ozt/O7XRqN6H1/pz+c8Ol4AzkZvj3jMitKfKQ//cDGBW9aLekt1JLe2Jtx0M3j2hZupti0KX5oUzx3z+vZMB/MkKG7ODV7t4MXcyb0JmgxvX149lbmfZh5kzevl4hG0377O6+NxfmFDDyXuQb6ixvsTaCqyVeTr8+Qr6WGVyJld/OXYGTzNz0mQVsRSHKzm/gCMbrthPoEnm2OXmvLXuz0fx9OjsuIfqeTozziztdLJ6sFmE5X75M2H7hn0yG6Zuxu/d79tlgH+AtGc2Oj9v4qIX+mJXi7jvJqM/OJ7LTXXFvHk045hgWGdJ7ZvOZGW9rcxnI2lrOxnLfKG/fvL19u9/7lSKRGmjbStJGmjVFrpGmb4kaaNq7hu+UaGmna5KuRpk3QvntBa6RpI00fCGl6c3hjxpveYk3vueDIo6BENqWgGznSyJG2c27kSJviRo60zesD21M0cqTJVyNHmqB994LWyJFGjnzr5MgnaYzx+7N89BlZWrr7P5XEY+nY3MF/L5nni+3cMQCfm87j4P1Zvk5DIcPzZu34XOXNXT2Cc1f/AJF0j3Uu7+KSZtvBtsf7U/Z4d4vO1VyskaD7LKrYROhBiNB9VfBr4vMgxOe+ysU18XkQ4nNPZcea9DwI6fkuy1c9Cjfu3R/RnLfNefu4Ya85b9sUN+dtc649QJ9Hc942+WrO2yZo372gNeftkuA05+035rz9SpHt91X/91FwIy3EvbEkbQvdWJI2xY0labvYR7q5aCxJk6/GkjRB++4FrbEkjSX51lmSFuJ+7yHucwHq2yCVWrj7d7rf21q4+3Ww+jbEqQW+Pz5hugl8n4Wtb0OQWgD8YxOjqwD46/D1bYhRC4V/fII0V7+8C2Tfhhy1iPhHJkTrqskvZHVfvRX4kwvIX9ed2KBk/HJN3umq/Xrv4MXhp8VyK/29etuKMgHbKguwzJLNqID75zSuiiZ0xQXuAJ4V0m9vCf/K6b751jdLTMjclO/vvnq2u3e0P/hlsPuy3yqWtIolrWLJo69YshV4X0QWGdl14TdfTJzOiet+94796SvWAONiPxbWxfnH51Dyl72XP7863N3/19Hgn9P1scFkg8kGkw0mvxgmb0HLmyUf1bfsYVqNr7f6vwCwCw3MIezBv149PXq699NPLw4PB4OjnwYHB7vPBw1pG9I2pG1IuxWkXQMxb5a9xhv79jeIe9mURNuU6LvlkX561emfZn1eg8lrvnABm1e1tx6iDzpK/cXeq6PX+3t7f29Q3aC6QXWD6q8B1beh5hqyrwKMzkdHYxZvj4RIbj0ScnyZbpDzD5nN87FD56ODq65eR6qtA+z137ceuK9bfy3xfuvx++neq8P9F09+7sZ199WzBuMNxhuMNxj/ejC+BnFkxPP52WQ0TJcdwNFZObodrPyJ0PjP4jN2+jdgevs9nxMcutjtrS45W9xY/LHFa2eDUwebhONuN/72epF7Oj/wC9H4cxd2z0q3Bq5bYtcI3fqldVXj816C3Zcvnu0e7u0f7Q+evzg43N8VSf+cFXU7jOLqbvyZbvYblnHEb4fjyYg205DKfDTiPLwY8uoj0ytExqjbQveWxkcnw9Phpso2GZ7KgYvTi02DZtbFBswTpVcjsD8/AOsI09XDtUicrmrwWvi6GIDZetKN5FUwSO8/JGLpP7voJrEE5np9HS9ySy62sRrtLBqHV+bfsv02b9qssK0WL88Mn76+0xrZitGwCMELwWHTGLDlSK4pvPdVfzkWq28RET0Ea73RgCY67N+Kvuqrd4A+p2IVZQ86WOOJSooerKOoKxmO6ApV0C4UX3WwWDUoBOWq1YlrfzEYq6/e1aJDrlblHJUnDzGxDVB1JsVsgAq6XAqUasAox5QyFkRF3hVdnRXhnIvNEsnwLpagTCSMxdZSQoIYUQXk6I2JAaL3bLlmXbWpVsXABCUCBwyEaSaqN+I5C8xsErpNCb2Kdm1Cuh0h7YLQm4huU0Sncf1NQLcjoLPjNk1EtymiV2eYmpBuR0ivjxh+rpgaLIpZJczGoM4FlVZaG1LGFrYVimHNMVhbtC6oknK+UgZrs7fOdtzWAxbTm5Obj1RQ2dukatZQdSQ2ynurgCopqCVr52yw1ZiinMhmUvLBEJ1OCSgUTbwkqNMEa58rpbnEFMmFYItNZMiaoqPzyhpdFRonEqo5KldzJkDI4DUTaF1KNJAeOJjOktbNpZ57wLLZX04211fvolKOi4qA1RlfrEZU0QSXwLnKmCJqVTyorEOKxVQbrUnki+IUXSJQtlaLCcnUFLCq7B2mqqLxtqTAWkOMyaM1NdbsiJ1KLpWYdQkenTXek46pZijVhwJYSGO1lmxAUCU6J5pDNlOsQC45l1IFkNEshrPvhGk+P95iBry+eoe1VEpWhewwoVaOPHKtLisLrqhYM3LxFCGwr9Firt7WlFK0Gq0J9ebQwlXSvL5FF6zW1liwJnqnjOovpsnrq3c2xpK8VTanWn1Ar6oyKlYdwYDFyhVDicHl5ByFYrz1xluTSnW2gI+LWfRu1OcP/5sX6bkkWb+uzI83F20yUwmLqL1GiMp7BAvG42olUcp5a4OLIRqDHmGVkhjyxUAlsrZmZXM2UDIkh4qco8JQOJkMETgWNozFqFSoGKsxQ0wrlCRaYAs1J9SOATk7IkyxJKzaWyyquORU8SpUtEoxxFyNs9FV+SstAbjK6ApDxUQFik+sY1GFHdUaTNJQsIRkYzXoQiiJtNYMqAtWZ50NeItp7qt3yRmVrWJlrPOsChTUnBJBUjZqU31JwVAkbzWYyqXqqEq0CYyHUDIaby1aa52LLiabbMmeqGp2VqGtpKolrgwKIybPxbuQo9HFIFplABVHSlkpAG+DUrkYIqyVSGWtyeVUE/gYkg4aE2X5ZFYZfQZQzgZYk2fvK4uKZ5NSgmrIg486kIxU5EjOFPKsa2aizg5TORjtjTUup8yhxEgq47KoWJdDzlAtRVWSjVkjWkBvKAJGTxxZJ1miYzLKc4xEWimPlT16MrgkKi5wzAiVqaREgRNSJIqmFp08W8+VbVLsa/UEiiAHY6wFLqF40EkviwopnZNlHWqyQFYpZWxCn4uKGoNKwWrDhMjFkipWV8+MWlPw1mPRDliH4CMbQ66kHEOpkclyLkpj1kHpqpmj1Zq1AgiQPWSFOTkAnQJ4zzVUUy0l9GSjdxocuViiNtr4WGOJPqJxxYcKEKvXRMTZoYu6+yKhiVfl5Pt1RXq9FQnOfu1bF5xXRoOIvVYGtJjM1kWFLrqAGKQvMU5/DVEpr2LU3luvnJ9W6ZmtCVdi6YISFfLBx6iCQZBnr6XR+aii0dG5YCAGp7qJXvZ59dW7IitmEQniUpxXom6+ZJN9iaow6FSJIrsqi0lJpAIlnVMo2hdwXqyqm7xTV7aQA7CojRWgvjEji7cgeCUaELwJkLRSjmyotnrFXlQatPY+OhOLQROy1agJyEeHbjHh1M2rgkUTO7W8flX2YKyxKifyGDnEYBIYBaTZZPYWM7kstgIpW4IrygdKVBRXdgbdNCPULTFOnhAMWa980jWYoKK1bH0sBqI3mImzzkgeOORsIqcYiGJOTBR9sdlGo1NJIZfofVWetDcKTQraQmJVTEkuuFIMB3AYRHuVrS4asDkoVQ0hGVSeoo26sMvOi2KmEqggQ3XsjENBFRt00lVbi2iAxTipeWWyvj9LWtEoq6yJoH0Er0LU89KKOning4oRDYYZdq6WVm2TN2SVTQUZa8ICPtekqlLOaIrBJZ01OLYGfbKYOHAOVbuAUVmf1kircC/G+HkRCuiL8iKtMRsToyk5AiXHDihm70VWUyJtSJZlAtmLuELgsTMM0zppxSgauaAYqCBpEGlVFq2qYoxhdgxsoodSIqeSii+p2KjZVO+irLcmG86sya2SVjAxyuLHKVax6xwk68GAimRzSeQTgCghWtTaa5cUJQAdUyYd2QVdCNmgi1Ebsqw4WqKalc42BAZVa47IRVs25I0YJ5BRB6ucEAnV2VSR2Fejohf+KxlPKWgwnI3lFKFAjtpF6x0oq4Kpviq2zqQISXT9BnSv0vv9uipTn5hL5GMuKYhN43SWDYRSOnlZPLF4g94pisXVEKkwcokhqsxAXqG2KkOM5FirHBUFHVW0CR0YUyh7p3T12TvrNQtL49CDCyVk8q76rBNoAE6cq1KYACPpCsg1u2qSV1hcNKbWGLILpINx5IACWvCILtQgWxSVqzI6MwULxUJEp0xKMXtbtNOKKhtUgDXE6gMkW132iXJCtDFbrEZ7QqoBXAVtClYyDopJKQfIyscI1VatxPYspkRnMETwsSS21UebNWnlHEn3bcHACkJhzhHRV+cxQYqcydVMpaCJoeqgWXNJQXYfGYqK3hFrSxxJUTFVB8BiM1StgqKIJVDy2UICm5LhQiG6WhETYwxJtuqVbGKAQsA5WtLkKSr0YnaYbEnEEFOK4NkH65FtVYFttQr0dBe+hDjKOdARYgRrxNSERcRRNkQI0QVrYgid6q9GnFRZVQeVk+es0KscjVfgURVXYuFUck7BeVvAMRXtSEcTalauaI9uDeKYaI0Gv4A40eWoESrFFNiR8hDk20MmY1mM4gQ1ggLHStXgwTiLpiT0CjTVatYgjolBoTYL6yPW4I2BilFMIO1DrLk6pw1oSCW5yBCjK7VqZLGrM1kgNC4lrFaVsgJxQg1FY4LI2jqMREknrw27rCMXp6kyoFKESWnPgZIFUy2QMszeKPIAGYCrCr6YCigw65XmUAIFQFAanUtRR5cVeEjeuxxCIg0Y2BXnwFnyikBFTMVgYTaxlJLYkw1GsUkaHbCYm0amOmWlqXrhrDBJgNfOGnyxlB36ZCJyTdXnCkZFDl5FJE+anKrFGbBKaQ01al9lT02OQGFVmEwJhSJxcKFYX6tx0SqtVIgBgtjTWng1H0okYuOzqbWwwWp8SAGDLimKrczJG/aZErC1sdSci0UyXmEE1jWEqqOYPex8qsU65wG0yzXWhKp4ryL4BKb6rDJm1i5ozk4zJlRi8+ZaGJQtWb7AsCLywRsFIfkStVVFu+qj9A9I2ajI22ySokzGe6hcotFeoWdrra0xCw3hLdtag1Vea52Ba0kaQoo+Y7HR+YTkFWddOCUTgEG4GJ0rV4Xi/6g1VeV8MaqWDBCZWEFVlQxqoFQKB+0C+ZoFx3MtWmvPCWvIloRSw2Qo2eRkJ0RBhAqsdZqY0eqQVQZUUVZ2byJUV10CK7OaNKmirdXB6ZX44qyFqBSo4IxGg7CAL0IGgawaCM764JRbb9GkpLkAq5hJqQAmOB99CdGy8Y5T8c6GrLQjX7QLCTGzcqAwFJ9MKmvwxWMUrnFe6atDrlEAVozjGqEUnYNIQVE2O53JcuBSmFnscFSUs+dYk9XOWgrr8EV2It4t4osHVxA4xBp8iVgLGrAB2SiXg65VoQrBRrCkUvCgSwENThfjKCoOK/AlKlCxiAVEsoY7HbUvGZQjKJYYgxjzxfposufkYtYRUlGASjg6y6hFdYTgKqyoAKNGk7Iy1njZ6Sry3VrkBdc5GArOKlFUFGM+JIMOvAbrsmKgbGMt1gq3luS1snNXWVNQmXMSegKErojKc8g2aKPW4wuHHL2LVQWragyKODpM2tUMAUqMhn2x1qiiTSKXKpiKGKu1SFkszxDYKHaZI3I0iKXEEKzSsjPJhSFTKpFCokrJFc4xG5kYX33IMUTGKJQIKojBBgUpCPlQvDCdFnS0ziPpzDYWcrmyQxGkAMlbV5PSyVUdcs4BSwjVkTElGi8LVlUpcAgqiOGcS+FsXTIYHOhsSWH0DnwhRgtkbNIEKIsC+GKNbMgdpAKRqtcVPMv+QfZKXige0EgEsSTlLRFUXarVxrLPySgh3Fj8VCG4WlNMxrNF0hYsB51ScegQEUxR3sSsgjGUrXY5JfQCzx4QfQmBnZAN2VTlAikxZ7WWMcvZ2mAdJKyJXVSAkIr2XNBkU4MKpaKuRrbNwpA65uRQGNQUS9EuBqWDkD5eWwywGl9MdNqj96i8gqCDW9zfWw3WWzclYLUxa/EFbQreCj0pqOqMrg6cqiaq6GMRSkdVAoYavMVUtI0AVWaIDEC0fs2OyQShjRfwBYrHoKCiOCtMjuByCTomjmIesaz1UeQ3ZAYdXeECCpm0dmgygV63Y9LexOAXdkxJQXZFiDQj+0Cs1jGXWEtNxDUZVFr2PamY6BUnUgqCAgcA5DV6s8p+yVZVpynGmhk5pUi2JMdBFa9drRV0ZE/sDIgw1eSKgqyUKtZ4NpA9QWTv2VB1EJyshSZADpmiLii7W5+TzFjAmkqtzmRbFOdqY2DtwWtPAQL5aJLRSm6haj06CGiCWBQaIMSYKqhSXGavHFoEIRRQGM0380msf73OR/2rfBxVwiCsXnRUS1ZUomYbwVOUbZsDsVuVR6cwFevICrWTja/syDsheVojrZHWSGukNdIaaY20Rr6tRuZ8DlenR8RM1DVUZNlfporJMhh0Vdi67HVUVFLNnjHn6DIbDqmQN4lDQiawLtaABrQiY4PNkBQzQAIVjZItj5a997pklbLfzllZJ5a3S5x8zBEpkC2mFLaavZApMXmglIRvMMlD1trbWAxVG2VkrvJb9sHMxz7c9sVHC8EYbatLpYB3hRGzdawzanIGs08eatKI2RsLkCRqxZCngiFoY7vdcUYxZJVRSE4lj4a0iSUEUMJ1heycl5AAnTkyJB2zTswaUha3B3W8odA8QUie6rwEaqVAaBkhmqJtjSDOkyTsMzCAk7gcyiVNuf6lwiG/Lrjjr7YD1qHpSHgbjEMzc3wuZV2S+6zRwrApa0ChR7MiiiEgiQHOET1wpOy9DQGqgmwxG9nsRjCKrdWUajbivicuZCQ8ywVxwAFxVsQIicQh2rlGdSqyoRbPmPUyqQF9rsp61mSKy5CdUHU1E4jvIxPbmJidTtUWwwZ8wOp0EdrRpFodx1JD9Sm7SrJfTsKqWuTO5l+uBLKy1oeEgegbCVpbxkOoFh2ZrctZB+uwIgdXCFM2OhsW/5StkcQnDyZ7YIpUwNkq+2UsVsYjZJh6h0AFkwODLhh9Ct6TIaNdMRGxRC2BGUlLlJWn5LzsnoTPN9WrkourHp0PKlAwOZHTrKNNHKMVllU7JX6x2DlCrccqLgkrLtVpOuGFiMPX/9g9GPTUZwfGgg46FwMSWMKOuMherEhMrlVWdm2UxSMZLZSSFKPSJiYbgiVR9fqwQw67QVUt5LCFHLaQwxZy2EIOW8hhCzlsIYct5LCFHLaQwxZy2EIOW8hhCzlsIYct5LCFHLaQwxZy2EIOW8hhCzlsIYct5LCFHH5fwQWtkdZIa6Q10hppjbRGWiMt5LCFHD7ikMP54DpJ3ft6f/B093DwbH1w3YrIuood4UWWvDbVCX0Xk4OcQjbZoHHBRdJga3I5Vp1MThFZQykhpILmU5F1v9wZWLfm6p8bV3dH0NyLmUi564iO64FLhrkkpamkooy8vTjmrGKy2avc+QdrrTWRM45TtYG6STdBMsqGeBXQcd3gFgKjFuPj9m/C4wgDojPExaD2hQKQ8K6BFGdmYWCSKiZnYYgKRk1RGRV8lcgSoVvE7aRkN07gWKhd5RkSquySseCycgGTN0noDwnPZMUF2ZGJxqTokCgEKsqAS4BF4qWKMc4Vca10fI0TDjwYhZq8EadbTJwp6Zgga1Nn4XHPFqPjrocOSdVYMCcVMBQiYzKgcwgpaQ1JueodBq6RGV2Vt9pIsqmnKvA2Fxz3dAq6YSYW/7gOgzNf9p+lMDjxjGLyzlSPoAyDBtP9tzIFLTqPpqCEtGgE1IDCJa0JgzuYC0uZC1dZ+fO1Q3WRMZgH4cEMg99M4WX38HBwcHhd4eM2rsxfXkYX4a8jKe2qzRFzCkmXklKpmYTWwBpcqrGCREqCzdqqCj7kUpMDq6t6CHG7cwM/hzJg5kg9td4FuQWUWaLwFvi0L4adldTdImX3pR8xk8Tnz/cHzztROzp4uXe4Uhxv37Msk7qmqEpBFmLfK8YozgifsmWiXMDXmDBnZGuyczF6YEAjYTgcHKT4/a94866Iq1pNM7HUuhvtm8Ee3BSwurvKyuoHVsXyS9yHCwqrR22hShyVBJgnQz6m4CQaRpOk446sggs6RiduFStHISI/DEy4OiayWANsqfTK1cZmufxXX/q8cNpkpYPpMxR5pbNTbYRS4tHWNoNEomcuTmmbK8ViGLxjLFGCQKOHoMUDEEgMYtnW1KnHebUj889GqS/+iBWhWGgkkJctueAk+K1aTlWiwFDVFHQUV2w1BiAXsJ6VMxBLEDdeTSgWlc7MWSdiYkTrxWGQo5ZQQFu1VhIqG5wt6G1C8d0acZeHDEXCsVKpJbAR00z56F2JrBQ55Iw5perRVImn9sVGVVVKSaLSWcmxjOIkMK+rHbZ8fOmW3KwsNNd9PVQPkp1cV2uSrkVRDCGhtsVpzeJvl590DipitFw9luqIlSQSlxjGIltIbYoHl3IIRkWncsXqa7C5KOrOIVWGIiZWZR8xhBrAopGI91hiASgsQb1JeaOTL5RiQcnt7x2LJVgMJu21hHQlCVQJxijZUats/a1l5zYS3lXQp4HhNsHwpspPw8OGhw0Pv008XF87amM0DMV7ryUAPuakDCtGlBDXWiQ4ShjZ6J0hFwkiGB0qZgmgzhW1S7aGR4GGVwWltoOFDeUayt1GuceJX3eVFmsItk0Eu6k31jCsYVjDsO1h2N2V5xqKbRPF5svRNRxrONZwbHs4dkdhwgZi2wSx62qFDcEagjUE2x6C3ZXorEHYNiHsOvtZg7AGYQ3CtgJhnwwnXfFMw6/Pwa8GUg2kGkhtCFI7/f3dV8929472B78Mdl+uAqTFG5ahCIqyPjtNIcmZbeWDLtlm5+Q0g6++cPDaS76YWk1hLqpKvhHM3rsaNT8EKLqVNvVGt2A6yL/svfz51eHu/r+OBv98sTK88tYdK4Y5cKySxcNHg5kdICYESL5mL0f3TVTGefAQrVKmGARfiViyJmHUUB7CMC8eZ5kfZ4muXHViRU3H/+Bfr54ePd376acXh4eDwdFPg4OD3eeDVfOw5s7l+SCsqEo1QXuWvLMSiasrV0nYWbxFrmgzGhsla1GOSmKKqiT4zN6lFN1DmI9bObbnThatXiHllEKWnD7ZBIi1BIfkjA1eG6VSkbSskntJsnRYh4518IpLpC7xpkU5lHS9Iq+a14MunkkilKd206fn9/YTKwLtVQku+wCUjM+C6hW4UtQ2RZ1ThFoLeq/BJ+2y8ZJNJEk2VIWMscu69zDmec6uulkNVxhK48t0IxJ36+HTvVeH+y+e/NxNwI25++lpW/PgCi3laL0yFkOSZA9ylMwakyTHXMzZGShRe0lTnSJlnXNOGGNWyimfs2QBfACzl8/PJqNhuuwm7JOmsnRvlbUTqstgC0vOWMmo61lSkzlBNweSAksZHYIDSQzKJmdJqsipy/BrXQzoRJG8YQarwChLXX4xyyS5dLJkjZV0tsWAsUkS32jrvesy0nAFZyQxsXUqaJNAcn0XScyTSRRRJ0gh1VIyhZKsMl7y2BnJMEkxg5dzr10mqfmBuCW0Xw+vVmnD/H5kYQti7NJB1O8+//p0K/zL7ssXz3YP9/aP9gfPXxwc7q8997TmzmXdZltMknxbbCTXaIqKqkraY8jZF9amWMlOY+RIsg1YdSrEXFCS+6nItGAwjPjtcDwZXR8mqsxHI87DiyGffV6e+P5O/y2Nj06Gp8P1ueAnw1M5unR6Mc2GDYAheMmrqIykhJczaDcnrkMNkj8pRx2zcui8JiUn/AIwki9gKNcox3lAJ1a2aA3BcnQWuyw2yUrNhoCWWBvJL+XliJxNieSgkHKzjcCzweu9g9XG6dWlFVYp2ZiLJE1Hwxxd5aIVexu7FIukkapObKoD1KZK9k0qxhtUKZniO7CZHZbrL54y/+rffOcpc8k9bGR3GFLUZFNUVlIbo/auSm5MpixJ/2oujnOWFF7IaGqWc9nBqbB4yrx/g/HdYrJyUfh4VdJjxOOL87OxpA3+0DdKTY9ljvNoeDEVzv4xv+vxWT4vXHrjyWh49rZ3Xns3sDFFuk5uP/Tp4uJkmDu5/uF/xjPgy8d8SnMTfJ7+h/NkdvKRR5Ph9O1zSHR96/SF3bzN9+kfn+wTv6PTi5PZGXFIRN7pbnsMciY8AluG4mqNyjuttZYU/D7EkuVkOElifWOL8ZJmX1JiggMt2dN0AOCYMOqUIKBkIytZWYsxsVcgGZejQskvWuSouI3JautBsncG71PGZIJWOVSjTKHqIxRNSRVMkl9XF2dqZGc4BJA89MGTK7FjOSbDSfc5BzOdmM3b9Bq/m/xwcULD1eM9G8SPD25UPu707SqRfUKlN+L/veTxpFfPR6c06Xe32uVbX1+mk2Hu/Re/752dy92XZ6W7WZvlm2dj3xOp7WS8V2l4wqVXLrk3Oe9dJZbvXYzOJ1Obpje6POGxtOhW9fTF2YRHZ3TSG/PoNx71eDQ6H3VzesqT4/PS/7F/cT7udIUmYsP9QBfDH37TP/Dk2PwgAv/Dh2EHJnXIo4+dNSUNTZMvXI7k2HiXtnD65/FkcvHjDz+cnGc6OT4fT36MHU/3Zqcvyro/HbIn5+X94EpQPnz/FumSlU6GVZaM1pqsKz6hsBc5s6WCmZPXNWuj0MrGSvlQUEeyWldV5ByrJPVYf0r1jjOZV2r4Uejd6XBeKfX/5QQiXDzqDQ7/YXq7F8MlzJPrvcHk2PR2R5NhpTwZi01xPcDmb+pvstifDDMLMPz4oX9Gp103Lygfc890lxcE4ffff/8bdVf/dj56+8Ps0fEPL188Hbw6GPxV2jyenJ50nRZBPKWzuYalS+Oe7MpEzXpPXh70Lqb6JAvrrQ/4cLNO3H5wcsy3Hu6NLziLTJcejXsXNJoIwMt9P++/7NGZ6PfkcnQ27n6bB/7Z1MxB4sfZR3+Y6dCvfeqG97dZtZ4rj21/p//jjS5JPhpREbn/w4dEY/55dPLxo/z8v5c8ej87bU+jISWZw18/9MtwLH+X/o+VTsZ8x/f/h6jacMTlP29/9/CsJwvuFLW6wfn9eJiPp2MlEDPt6MqvnP1IZ++nxqZYVf3+Tn9q5cx92sc3H3f606IpXcenNzyddu+vh9LMTQNLS7rAyfSJ3Zz5YnLnvW/mkOz13sHhXHaL0/Miz4zod3EJ0O/Tzp5fzFIbfJj+9qF/QmdvLzumpz9tU/79fzo5IF0= +sidebar_class_name: "post api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Signs data for the BLS public key specified as part of the URL and returns the signature + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/upcheck.api.mdx b/docs/reference/api/eth2/upcheck.api.mdx new file mode 100644 index 00000000..e318d510 --- /dev/null +++ b/docs/reference/api/eth2/upcheck.api.mdx @@ -0,0 +1,65 @@ +--- +id: upcheck +title: "Server Status" +description: "Checks the Web3Signer server status. Confirms if Web3Signer is connected and running. Not used by validator clients." +sidebar_label: "Server Status" +hide_title: true +hide_table_of_contents: true +api: eJzFUk1rGzEU/CvinZXdxaXQbunBmKUxLWnBCT04Psja55WIVlKlt3bMov9etE4a2+Tek4TmfYxmZgQSXYR6DSsMewxsRYKGCBsOLUYZtCftLNSwUCifIiOF7DduP6x0ZzGweGqKU1PBFs7udOgj07vzKh2ZdNaiJGyZsC0Lg7XadgW7c8SGiC3bHtleGN0KcoFJo9FSLB4tcHAeg8gkli3U8PBrcdssvgOHgNE7GzFCPcKsqvJxSflnLpPOElrKKOEzld4Ibb8wqUSISF8H2t18ymCUCnsxlR09Qg2RgrYdJA74LHpv8DQxpcTh43vrlpYwWGHe0QdDcAFyZ4+kXP5IhwQcvCAFNZSDl1lf4HDqyI6MMAQDNUDir1dF5OuyNE4Ko1yk+nNVVZA2HLTduYm8ponpGYfm/nbG5l7DtaUZZw2pGZsH0jshKQKHvP2Ez4qqqICD0RJtxDzeij5Pn3shFbLZBF9QOxwOhZjQwoWufGmN5Y/lorlbNTd5pqLeTGJ4F6kX9mzwZQivCI9vZv6/OL6k4y1LOSGTBOOLm2t4dXPDIbuUn8ZxKyI+BJNSfv4zYDhCvd5w2IugxTabtt4kDgpFi2Gy/wmPWWsp0ees7IUZLldfxzgH4V/AvjX3kNJfjMxP9g== +sidebar_class_name: "get api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Checks the Web3Signer server status. Confirms if Web3Signer is connected and running. Not used by validator clients. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/rest.md b/docs/reference/api/rest.md index 06e9483f..7e55c3b9 100644 --- a/docs/reference/api/rest.md +++ b/docs/reference/api/rest.md @@ -1,37 +1,43 @@ --- -description: Use for signing consensus layer payloads -sidebar_position: 2 +description: REST API for signing consensus and execution layer payloads +sidebar_label: REST API --- # Web3Signer REST API -The Web3Signer REST API contains an ETH2 (that is, consensus layer) API, and an ETH1 (that is, execution layer) API. -Use the ETH2 API for signing consensus layer payloads. +The Web3Signer REST API provides endpoints for signing consensus layer and execution layer payloads. -We recommend using the [Web3Signer JSON-RPC API](json-rpc.md) for signing execution layer payloads. The ETH1 REST API -contains a basic signing method but does not implement transaction encoding or create an Ethereum signature. - -## View the REST API documentation +- **[Consensus layer endpoints](eth2/)** - Sign BLS artifacts including blocks, attestations, and validator registrations. +- **[Execution layer endpoints](eth1/)** - Sign SECP256K1 data for execution layer transactions. -View the [REST API documentation] for more information about the available APIs. +:::tip +We recommend using the [JSON-RPC API](json-rpc.md) for signing execution layer payloads. The execution layer REST API +contains a basic signing method but does not implement transaction encoding or create an Ethereum signature. +::: -## Enable Swagger UI +## Use the API -You can interact with APIs using [Swagger UI]. -To do this, set [`--swagger-ui-enabled`](../cli/options.md#swagger-ui-enabled) to `true`. +You can interact with the Web3Signer APIs using tools such as [Postman] or [curl]. -Access Swagger UI at `http::/swagger-ui` where: +### Example: Get public keys -- `interface` is specified using [`--http-listen-host`](../cli/options.md#http-listen-host). -- `port` is specified using [`http-listen-port`](../cli/options.md#http-listen-port). +```bash +curl -X GET http://localhost:9000/api/v1/eth2/publicKeys +``` -The default location is `http://localhost:9000/swagger-ui`. +### Example: Sign a message -You can also use tools such as [Postman] or [curl] to interact with Web3Signer APIs. +```bash +curl -X POST http://localhost:9000/api/v1/eth2/sign/{identifier} \ + -H "Content-Type: application/json" \ + -d '{ + "type": "ATTESTATION", + "fork_info": {...}, + "attestation": {...} + }' +``` -[REST API documentation]: https://consensys.github.io/web3signer/ [Postman]: https://www.postman.com/ [curl]: https://curl.haxx.se/ -[Swagger UI]: https://swagger.io/tools/swagger-ui/ diff --git a/docusaurus.config.js b/docusaurus.config.js index 46f69f93..e0a774bf 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -4,6 +4,30 @@ const darkCodeTheme = require("prism-react-renderer").themes.dracula; const isDev = process.env.NODE_ENV === "development"; const baseUrl = isDev ? "/" : "/"; +// OpenAPI plugin configuration +const openApiConfig = { + eth2Api: { + specPath: "src/openapi-specs/eth2-bundled.yaml", + outputDir: "docs/reference/api/eth2", + sidebarOptions: { + groupPathsBy: "tag", + categoryLinkSource: "tag", + }, + hideSendButton: true, + showSchemas: false, + }, + eth1Api: { + specPath: "src/openapi-specs/eth1-bundled.yaml", + outputDir: "docs/reference/api/eth1", + sidebarOptions: { + groupPathsBy: "tag", + categoryLinkSource: "tag", + }, + hideSendButton: true, + showSchemas: false, + }, +}; + /** @type {import('@docusaurus/types').Config} */ const config = { @@ -46,6 +70,7 @@ const config = { path: "docs", routeBasePath: "/", breadcrumbs: false, + docItemComponent: "@theme/ApiItem", // @ts-ignore // eslint-disable-next-line global-require include: ["**/*.md", "**/*.mdx"], @@ -255,6 +280,14 @@ const config = { ], }), plugins: [ + [ + "docusaurus-plugin-openapi-docs", + { + id: "openapi", + docsPluginId: "classic", + config: openApiConfig, + }, + ], [ "@docusaurus/plugin-google-gtag", { @@ -280,6 +313,14 @@ const config = { from: "/reference/api/filecoin", to: "/reference/api", }, + { + from: "/reference/api/eth2/web-3-signer-eth-2-api", + to: "/reference/api/eth2", + }, + { + from: "/reference/api/eth1/web-3-signer-eth-1-api", + to: "/reference/api/eth1", + }, { from: "/HowTo/Get-Started/Build-From-Source", to: "/get-started/build-from-source", @@ -445,6 +486,7 @@ const config = { ], ], themes: [ + "docusaurus-theme-openapi-docs", [ require.resolve("@easyops-cn/docusaurus-search-local"), { diff --git a/package-lock.json b/package-lock.json index 657e6abd..b5ce857b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,8 @@ "@easyops-cn/docusaurus-search-local": "^0.52.1", "@mdx-js/react": "^3.1.1", "clsx": "^2.1.1", + "docusaurus-plugin-openapi-docs": "^4.5.1", + "docusaurus-theme-openapi-docs": "^4.5.1", "prism-react-renderer": "^2.4.1", "react": "^19.0.0", "react-dom": "^19.0.0" @@ -401,6 +403,23 @@ "node": ">= 14.0.0" } }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.3.tgz", + "integrity": "sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==", + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -4898,6 +4917,19 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "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==", + "license": "MIT" + }, + "node_modules/@faker-js/faker": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", + "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==", + "deprecated": "Please update to a newer version.", + "license": "MIT" + }, "node_modules/@fastify/busboy": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", @@ -4921,6 +4953,17 @@ "@hapi/hoek": "^9.0.0" } }, + "node_modules/@hookform/error-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hookform/error-message/-/error-message-2.0.1.tgz", + "integrity": "sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-hook-form": "^7.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -5064,6 +5107,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "license": "MIT" + }, "node_modules/@jsonjoy.com/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", @@ -5739,6 +5788,302 @@ "node": ">=8.0.0" } }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "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", @@ -5782,18 +6127,79 @@ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "license": "MIT" }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true, + "node_modules/@redocly/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-EDtsGZS964mf9zAUXAl9Ew16eYbeyAFWhsPr0fX6oaJxgd8rApYlPBf0joyhnUHz88WxrigyFtTaqqzXNzPgqw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@redocly/config": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", + "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", "license": "MIT" }, - "node_modules/@semantic-release/changelog": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", - "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", - "dev": true, + "node_modules/@redocly/openapi-core": { + "version": "1.34.6", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz", + "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==", + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.22.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@semantic-release/changelog": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", + "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", + "dev": true, "dependencies": { "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", @@ -6882,6 +7288,18 @@ "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz", + "integrity": "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==", + "license": "MIT", + "dependencies": { + "hoist-non-react-statics": "^3.3.0" + }, + "peerDependencies": { + "@types/react": "*" + } + }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -6985,6 +7403,12 @@ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", + "license": "MIT" + }, "node_modules/@types/prismjs": { "version": "1.26.4", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.4.tgz", @@ -7016,6 +7440,18 @@ "csstype": "^3.0.2" } }, + "node_modules/@types/react-redux": { + "version": "7.1.34", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.34.tgz", + "integrity": "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==", + "license": "MIT", + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, "node_modules/@types/react-router": { "version": "5.1.20", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", @@ -7618,7 +8054,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "dev": true, "dependencies": { "debug": "^4.3.4" }, @@ -7671,6 +8106,20 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", @@ -7735,6 +8184,15 @@ "algoliasearch": ">= 3.1 < 6" } }, + "node_modules/allof-merge": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/allof-merge/-/allof-merge-0.6.7.tgz", + "integrity": "sha512-slvjkM56OdeVkm1tllrnaumtSHwqyHrepXkAe6Am+CW4WdbHkNqdOKPF6cvY3/IouzvXk1BoLICT5LY7sCoFGw==", + "license": "MIT", + "dependencies": { + "json-crawl": "^0.5.3" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -7827,7 +8285,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, "license": "MIT" }, "node_modules/anymatch": { @@ -7898,11 +8355,16 @@ "astring": "bin/astring" } }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "license": "MIT" + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -8036,7 +8498,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -8214,7 +8675,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -8424,6 +8884,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "license": "MIT" + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -8561,6 +9027,15 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "node_modules/charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -8875,7 +9350,6 @@ "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==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -8888,14 +9362,12 @@ "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==", - "dev": true + "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==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -8909,7 +9381,6 @@ "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", @@ -9185,6 +9656,27 @@ ], "license": "MIT" }, + "node_modules/compute-gcd": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", + "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "node_modules/compute-lcm": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", + "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", + "dependencies": { + "compute-gcd": "^1.2.1", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -9406,6 +9898,18 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "license": "MIT" }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", + "integrity": "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -9551,6 +10055,12 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, "node_modules/crypto-random-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", @@ -10336,12 +10846,37 @@ "node": ">=8" } }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "license": "MIT" }, + "node_modules/detect-package-manager": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-3.0.2.tgz", + "integrity": "sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==", + "license": "MIT", + "dependencies": { + "execa": "^5.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/detect-port": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", @@ -10371,6 +10906,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "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", @@ -10407,559 +10951,1775 @@ "node": ">=6.0.0" } }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "node_modules/docusaurus-plugin-openapi-docs": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.5.1.tgz", + "integrity": "sha512-3I6Sjz19D/eM86a24/nVkYfqNkl/zuXSP04XVo7qm/vlPeCpHVM4li2DLj7PzElr6dlS9RbaS4HVIQhEOPGBRQ==", "license": "MIT", "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "@apidevtools/json-schema-ref-parser": "^11.5.4", + "@redocly/openapi-core": "^1.10.5", + "allof-merge": "^0.6.6", + "chalk": "^4.1.2", + "clsx": "^1.1.1", + "fs-extra": "^9.0.1", + "json-pointer": "^0.6.2", + "json5": "^2.2.3", + "lodash": "^4.17.20", + "mustache": "^4.2.0", + "openapi-to-postmanv2": "^4.21.0", + "postman-collection": "^4.4.0", + "slugify": "^1.6.5", + "swagger2openapi": "^7.0.8", + "xml-formatter": "^2.6.1" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "^3.5.0", + "@docusaurus/utils": "^3.5.0", + "@docusaurus/utils-validation": "^3.5.0", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dependencies": { - "domelementtype": "^2.3.0" - }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=6" } }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/docusaurus-plugin-openapi-docs/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">=10" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/docusaurus-plugin-sass": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz", + "integrity": "sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==", "license": "MIT", + "peer": true, "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "sass-loader": "^16.0.2" + }, + "peerDependencies": { + "@docusaurus/core": "^2.0.0-beta || ^3.0.0-alpha", + "sass": "^1.30.0" } }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-4.5.1.tgz", + "integrity": "sha512-C7mYh9JC3l9jjRtqJVu0EIyOgxHB08jE0Tp5NSkNkrrBak4A13SrXCisNjvt1eaNjS+tsz7qD0bT3aI5hsRvWA==", + "license": "MIT", "dependencies": { - "is-obj": "^2.0.0" + "@hookform/error-message": "^2.0.1", + "@reduxjs/toolkit": "^1.7.1", + "allof-merge": "^0.6.6", + "buffer": "^6.0.3", + "clsx": "^1.1.1", + "copy-text-to-clipboard": "^3.1.0", + "crypto-js": "^4.1.1", + "file-saver": "^2.0.5", + "lodash": "^4.17.20", + "pako": "^2.1.0", + "postman-code-generators": "^1.10.1", + "postman-collection": "^4.4.0", + "prism-react-renderer": "^2.3.0", + "process": "^0.11.10", + "react-hook-form": "^7.43.8", + "react-live": "^4.0.0", + "react-magic-dropzone": "^1.0.1", + "react-markdown": "^8.0.1", + "react-modal": "^3.15.1", + "react-redux": "^7.2.0", + "rehype-raw": "^6.1.1", + "remark-gfm": "3.0.1", + "sass": "^1.80.4", + "sass-loader": "^16.0.2", + "unist-util-visit": "^5.0.0", + "url": "^0.11.1", + "xml-formatter": "^2.6.1" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "peerDependencies": { + "@docusaurus/theme-common": "^3.5.0", + "docusaurus-plugin-openapi-docs": "^4.0.0", + "docusaurus-plugin-sass": "^0.2.3", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/@reduxjs/toolkit": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" + "node_modules/docusaurus-theme-openapi-docs/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", "dependencies": { - "readable-stream": "^2.0.2" + "@types/unist": "^2" } }, - "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/docusaurus-theme-openapi-docs/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, - "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==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.241", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.241.tgz", - "integrity": "sha512-ILMvKX/ZV5WIJzzdtuHg8xquk2y0BOGlFOxBVwTpbiXqWIH0hamG45ddU4R3PQ0gYu+xgo0vdHXHli9sHIGb4w==", - "license": "ISC" - }, - "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==", - "license": "MIT" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", - "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "node_modules/docusaurus-theme-openapi-docs/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" + } + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/encoding-sniffer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", - "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", - "dependencies": { - "iconv-lite": "^0.6.3", - "whatwg-encoding": "^3.1.1" + "node_modules/docusaurus-theme-openapi-docs/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/encoding-sniffer/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "@types/hast": "^2.0.0" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz", - "integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-raw/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", "license": "MIT", "dependencies": { - "execa": "^8.0.0", - "java-properties": "^1.0.2" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" }, - "engines": { - "node": "^18.17 || >=20.6.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", "license": "MIT", - "engines": { - "node": ">=16" + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" + "node_modules/docusaurus-theme-openapi-docs/node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/env-ci/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", "license": "MIT", "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" }, - "engines": { - "node": ">=12" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/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==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-ci/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "dev": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" } }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "engines": { - "node": ">=6" + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" } }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", - "engines": { - "node": ">=10" + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", + "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "peer": true, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-footnote": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", + "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", + "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, - "engines": { - "node": ">=8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", + "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", + "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", + "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/react-redux": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", + "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "react": "^16.8.3 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/rehype-raw": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz", + "integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-raw": "^7.2.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.241", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.241.tgz", + "integrity": "sha512-ILMvKX/ZV5WIJzzdtuHg8xquk2y0BOGlFOxBVwTpbiXqWIH0hamG45ddU4R3PQ0gYu+xgo0vdHXHli9sHIGb4w==", + "license": "ISC" + }, + "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==", + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding-sniffer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", + "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/encoding-sniffer/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-ci": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz", + "integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^8.0.0", + "java-properties": "^1.0.2" + }, + "engines": { + "node": "^18.17 || >=20.6.1" + } + }, + "node_modules/env-ci/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/env-ci/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/env-ci/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/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==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/env-ci/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/ajv": { @@ -11326,6 +13086,12 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==", + "license": "BSD-3-Clause" + }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -11526,6 +13292,12 @@ "dev": true, "peer": true }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, "node_modules/fast-uri": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", @@ -11684,6 +13456,21 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -11872,6 +13659,12 @@ } } }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "license": "MIT" + }, "node_modules/form-data-encoder": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", @@ -11947,8 +13740,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -11998,7 +13790,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -12144,7 +13935,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12196,7 +13986,6 @@ "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" @@ -12206,7 +13995,6 @@ "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" }, @@ -12364,6 +14152,15 @@ "dev": true, "peer": true }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + } + }, "node_modules/gray-matter": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", @@ -13037,6 +14834,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/http-reasons": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz", + "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==", + "license": "Apache-2.0" + }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "license": "MIT" + }, "node_modules/http2-wrapper": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", @@ -13066,7 +14875,6 @@ "version": "7.0.5", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -13119,7 +14927,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -13160,6 +14967,22 @@ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -13283,7 +15106,6 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -13367,6 +15189,15 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/into-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", @@ -13441,6 +15272,29 @@ "node": ">=8" } }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -13894,6 +15748,15 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -13927,6 +15790,15 @@ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, + "node_modules/json-crawl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/json-crawl/-/json-crawl-0.5.3.tgz", + "integrity": "sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "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", @@ -13938,12 +15810,44 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "license": "MIT", + "dependencies": { + "foreach": "^2.0.4" + } + }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "license": "(AFL-2.1 OR BSD-3-Clause)" }, + "node_modules/json-schema-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.4" + } + }, + "node_modules/json-schema-merge-allof": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz", + "integrity": "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==", + "license": "MIT", + "dependencies": { + "compute-lcm": "^1.1.2", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -14107,6 +16011,15 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/liquid-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz", + "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -14448,6 +16361,78 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/mdast-util-definitions/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-directive": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", @@ -16683,6 +18668,15 @@ "node": ">= 0.6" } }, + "node_modules/mime-format": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.1.tgz", + "integrity": "sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==", + "license": "Apache-2.0", + "dependencies": { + "charset": "^1.0.0" + } + }, "node_modules/mime-types": { "version": "2.1.18", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", @@ -16773,6 +18767,15 @@ "node": ">=0.10.0" } }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -16800,6 +18803,15 @@ "multicast-dns": "cli.js" } }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -16810,7 +18822,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, "license": "MIT", "dependencies": { "any-promise": "^1.0.0", @@ -16857,6 +18868,15 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, + "node_modules/neotraverse": { + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.15.tgz", + "integrity": "sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/nerf-dart": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", @@ -16873,6 +18893,13 @@ "tslib": "^2.0.3" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-emoji": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", @@ -16885,7 +18912,39 @@ "skin-tone": "^2.0.0" }, "engines": { - "node": ">=18" + "node": ">=18" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "license": "MIT", + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" } }, "node_modules/node-forge": { @@ -16897,6 +18956,15 @@ "node": ">= 6.13.0" } }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "license": "MIT", + "dependencies": { + "es6-promise": "^3.2.1" + } + }, "node_modules/node-releases": { "version": "2.0.26", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", @@ -18381,271 +20449,578 @@ "version": "9.0.5", "dev": true, "inBundle": true, - "license": "ISC", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "7.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "11.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "brace-expansion": "^2.0.1" + "hosted-git-info": "^8.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass": { - "version": "7.1.2", + "node_modules/npm/node_modules/npm-audit-report": { + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-collect": { - "version": "2.0.1", + "node_modules/npm/node_modules/npm-bundled": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-fetch": { - "version": "4.0.1", + "node_modules/npm/node_modules/npm-install-checks": { + "version": "7.1.1", "dev": true, "inBundle": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" + "semver": "^7.1.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" } }, - "node_modules/npm/node_modules/minipass-flush": { - "version": "1.0.5", + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, "engines": { - "node": ">= 8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/npm-package-arg": { + "version": "12.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-pipeline": { - "version": "1.2.4", + "node_modules/npm/node_modules/npm-packlist": { + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "ignore-walk": "^7.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-sized": { - "version": "1.0.3", + "node_modules/npm/node_modules/npm-profile": { + "version": "11.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "18.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minizlib": { - "version": "3.0.2", + "node_modules/npm/node_modules/npm-user-validate": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">= 18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/npm/node_modules/p-map": { + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/ms": { - "version": "2.1.3", + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.1", "dev": true, "inBundle": true, - "license": "MIT" + "license": "BlueOak-1.0.0" }, - "node_modules/npm/node_modules/mute-stream": { - "version": "2.0.0", + "node_modules/npm/node_modules/pacote": { + "version": "19.0.1", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp": { - "version": "11.2.0", + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { - "version": "3.0.0", + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { - "version": "3.0.1", + "node_modules/npm/node_modules/path-scurry": { + "version": "1.11.1", "dev": true, "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/tar": { - "version": "7.4.3", + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "7.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=18" + "node": ">=4" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "node_modules/npm/node_modules/proc-log": { "version": "5.0.0", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/npm/node_modules/nopt": { - "version": "8.1.0", + "node_modules/npm/node_modules/promzard": { + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "read": "^4.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/normalize-package-data": { - "version": "7.0.0", + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "hosted-git-info": "^8.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "mute-stream": "^2.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-audit-report": { - "version": "6.0.0", + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -18653,505 +21028,519 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-bundled": { + "node_modules/npm/node_modules/read-package-json-fast": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "json-parse-even-better-errors": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-install-checks": { - "version": "7.1.1", + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 4" } }, - "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "4.0.0", + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.7.2", "dev": true, "inBundle": true, "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=10" } }, - "node_modules/npm/node_modules/npm-package-arg": { - "version": "12.0.2", + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/npm-packlist": { - "version": "9.0.0", + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/sigstore": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "ignore-walk": "^7.0.0" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "10.0.0", + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-profile": { - "version": "11.0.1", + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0" - }, + "license": "Apache-2.0", "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "18.0.2", + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-user-validate": { - "version": "3.0.0", + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.1.1", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/p-map": { - "version": "7.0.3", + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/npm/node_modules/package-json-from-dist": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/npm/node_modules/pacote": { - "version": "19.0.1", + "node_modules/npm/node_modules/socks": { + "version": "2.8.5", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/npm/node_modules/parse-conflict-json": { - "version": "4.0.0", + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.5", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "just-diff": "^6.0.0", - "just-diff-apply": "^5.2.0" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 14" } }, - "node_modules/npm/node_modules/path-key": { - "version": "3.1.1", + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", "dev": true, "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/npm/node_modules/path-scurry": { - "version": "1.11.1", + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "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" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "7.1.0", + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/npm/node_modules/proc-log": { - "version": "5.0.0", + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.21", "dev": true, "inBundle": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } + "license": "CC0-1.0" }, - "node_modules/npm/node_modules/proggy": { - "version": "3.0.0", + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ssri": { + "version": "12.0.0", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/promise-all-reject-late": { - "version": "1.0.1", + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", "dev": true, "inBundle": true, - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/npm/node_modules/promise-call-limit": { - "version": "3.0.2", + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "dev": true, "inBundle": true, - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/npm/node_modules/promise-retry": { - "version": "2.0.1", + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/npm/node_modules/promzard": { - "version": "2.0.0", + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "read": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/qrcode-terminal": { - "version": "0.12.0", + "node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", "dev": true, "inBundle": true, - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/npm/node_modules/read": { - "version": "4.1.0", + "node_modules/npm/node_modules/tar": { + "version": "6.2.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "mute-stream": "^2.0.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=10" } }, - "node_modules/npm/node_modules/read-cmd-shim": { - "version": "5.0.0", + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 8" } }, - "node_modules/npm/node_modules/read-package-json-fast": { - "version": "4.0.0", + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/retry": { - "version": "0.12.0", + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/npm/node_modules/safer-buffer": { + "node_modules/npm/node_modules/tar/node_modules/minizlib": { "version": "2.1.2", "dev": true, "inBundle": true, "license": "MIT", - "optional": true - }, - "node_modules/npm/node_modules/semver": { - "version": "7.7.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/npm/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "shebang-regex": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/npm/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", "dev": true, "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/npm/node_modules/signal-exit": { - "version": "4.1.0", + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", "dev": true, "inBundle": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "MIT" }, - "node_modules/npm/node_modules/sigstore": { - "version": "3.1.0", + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", "dev": true, "inBundle": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "@sigstore/sign": "^3.1.0", - "@sigstore/tuf": "^3.1.0", - "@sigstore/verify": "^2.1.0" + "fdir": "^6.4.4", + "picomatch": "^4.0.2" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { - "version": "3.1.0", + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.4.0" + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { - "version": "2.0.0", + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", "dev": true, "inBundle": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { - "version": "3.1.0", + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "make-fetch-happen": "^14.0.2", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - }, + "license": "ISC", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { - "version": "2.1.1", + "node_modules/npm/node_modules/tuf-js": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.1" + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/smart-buffer": { - "version": "4.2.0", + "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/socks": { - "version": "2.8.5", + "node_modules/npm/node_modules/unique-filename": { + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.5", + "node_modules/npm/node_modules/unique-slug": { + "version": "5.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/spdx-correct": { - "version": "3.2.0", + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { "version": "3.0.1", "dev": true, "inBundle": true, @@ -19161,935 +21550,1104 @@ "spdx-license-ids": "^3.0.0" } }, - "node_modules/npm/node_modules/spdx-exceptions": { - "version": "2.5.0", + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "6.0.1", "dev": true, "inBundle": true, - "license": "CC-BY-3.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "4.0.0", + "node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } + "license": "ISC" }, - "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.21", + "node_modules/npm/node_modules/which": { + "version": "5.0.0", "dev": true, "inBundle": true, - "license": "CC0-1.0" + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/npm/node_modules/sprintf-js": { - "version": "1.1.3", + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", "dev": true, "inBundle": true, - "license": "BSD-3-Clause" + "license": "ISC", + "engines": { + "node": ">=16" + } }, - "node_modules/npm/node_modules/ssri": { - "version": "12.0.0", + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^7.0.3" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/string-width": { - "version": "4.2.3", + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/npm/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/supports-color": { - "version": "9.4.0", + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/tar": { - "version": "6.2.1", + "node_modules/npm/node_modules/write-file-atomic": { + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=10" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "ISC" + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dependencies": { - "minipass": "^3.0.0" + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/null-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", + "node_modules/null-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/npm/node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">=8" + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "license": "BSD-3-Clause", + "dependencies": { + "fast-safe-stringify": "^2.0.7" } }, - "node_modules/npm/node_modules/tar/node_modules/minizlib": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "license": "BSD-3-Clause", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" }, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "license": "BSD-3-Clause", "dependencies": { - "yallist": "^4.0.0" + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/npm/node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/tiny-relative-date": { - "version": "1.3.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/tinyglobby": { - "version": "0.2.14", - "dev": true, - "inBundle": true, - "license": "MIT", + "node_modules/oas-resolver-browser": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver-browser/-/oas-resolver-browser-2.5.6.tgz", + "integrity": "sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==", + "license": "BSD-3-Clause", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "path-browserify": "^1.0.1", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" }, - "engines": { - "node": ">=12.0.0" + "bin": { + "resolve": "resolve.js" }, "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "dev": true, - "inBundle": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/npm/node_modules/treeverse": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", + "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": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/tuf-js": { - "version": "3.0.1", - "dev": true, - "inBundle": true, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "license": "MIT", - "dependencies": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" - }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 6" } }, - "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { - "version": "3.0.1", - "dev": true, - "inBundle": true, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" + "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==", + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.4" } }, - "node_modules/npm/node_modules/unique-filename": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", "dependencies": { - "unique-slug": "^5.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/npm/node_modules/unique-slug": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4" + "ee-first": "1.1.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.8" } }, - "node_modules/npm/node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/npm/node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", + "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==", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "wrappy": "1" } }, - "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "6.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", + "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==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/walk-up-path": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/which": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", + "node_modules/openapi-to-postmanv2": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-4.25.0.tgz", + "integrity": "sha512-sIymbkQby0gzxt2Yez8YKB6hoISEel05XwGwNrAhr6+vxJWXNxkmssQc/8UEtVkuJ9ZfUXLkip9PYACIpfPDWg==", + "license": "Apache-2.0", "dependencies": { - "isexe": "^3.1.1" + "ajv": "8.11.0", + "ajv-draft-04": "1.0.0", + "ajv-formats": "2.1.1", + "async": "3.2.4", + "commander": "2.20.3", + "graphlib": "2.1.8", + "js-yaml": "4.1.0", + "json-pointer": "0.6.2", + "json-schema-merge-allof": "0.8.1", + "lodash": "4.17.21", + "neotraverse": "0.6.15", + "oas-resolver-browser": "2.5.6", + "object-hash": "3.0.0", + "path-browserify": "1.0.1", + "postman-collection": "^4.4.0", + "swagger2openapi": "7.0.8", + "yaml": "1.10.2" }, "bin": { - "node-which": "bin/which.js" + "openapi2postmanv2": "bin/openapi2postmanv2.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/which/node_modules/isexe": { - "version": "3.1.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">=16" + "node_modules/openapi-to-postmanv2/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/npm/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/openapi-to-postmanv2/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==", + "license": "MIT" + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "inBundle": true, - "license": "MIT", + "peer": true, "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/npm/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.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, - "inBundle": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "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/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", + "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, - "inBundle": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12.20" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", + "node_modules/p-each-series": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", + "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", + "node_modules/p-filter": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", + "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, - "inBundle": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "p-map": "^7.0.1" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/p-filter/node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, - "inBundle": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/write-file-atomic": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=4" } }, - "node_modules/npm/node_modules/yallist": { - "version": "4.0.0", + "node_modules/p-is-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", + "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "peer": true, "dependencies": { - "boolbase": "^1.0.0" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/null-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", - "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", - "license": "MIT", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "peer": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/null-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/null-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/null-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/null-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/p-reduce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=16.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "license": "MIT", + "dependencies": { + "p-finally": "^1.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" }, - "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==", + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "license": "MIT", "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "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, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", "dependencies": { - "wrappy": "1" + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dependencies": { - "mimic-fn": "^2.1.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=6" + "node": ">=8" }, "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==", + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.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, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "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" + "entities": "^4.4.0" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "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/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">= 0.8" } }, - "node_modules/p-each-series": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", - "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/p-filter": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", - "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", - "dev": true, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", "license": "MIT", "dependencies": { - "p-map": "^7.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "process": "^0.11.1", + "util": "^0.10.3" } }, - "node_modules/p-filter/node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", + "peer": true, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "license": "MIT", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/p-is-promise": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", - "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", - "dev": true, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "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-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", "license": "MIT", + "dependencies": { + "isarray": "0.0.1" + } + }, + "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==", "engines": { "node": ">=8" } }, - "node_modules/p-limit": { + "node_modules/periscopic": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "peer": true, + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", "dependencies": { - "yocto-queue": "^0.1.0" - }, + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "license": "MIT", + "node_modules/pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "dev": true, "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/p-reduce": { + "node_modules/pkg-conf/node_modules/find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", - "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "license": "MIT", + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=16.17" + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "license": "MIT", + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, "dependencies": { - "p-finally": "^1.0.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "license": "MIT", "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" + "find-up": "^6.3.0" }, "engines": { "node": ">=14.16" @@ -20098,429 +22656,539 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-ms": { + "node_modules/pkg-dir/node_modules/p-limit": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/parse5-parser-stream": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", - "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", - "dependencies": { - "parse5": "^7.0.0" + "node_modules/pkg-dir/node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "license": "MIT", + "engines": { + "node": ">=12.20" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, - "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==", + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", "dependencies": { - "isarray": "0.0.1" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" + "node_modules/postcss-color-functional-notation": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz", + "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8.6" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", - "dev": true, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", "dependencies": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", "dependencies": { - "locate-path": "^2.0.0" + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, + "node_modules/postcss-custom-media": { + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz", + "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, + "node_modules/postcss-custom-properties": { + "version": "14.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz", + "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", "dependencies": { - "p-try": "^1.0.0" + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, + "node_modules/postcss-custom-selectors": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz", + "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", "dependencies": { - "p-limit": "^1.1.0" + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, "engines": { "node": ">=4" } }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "license": "MIT", + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { - "find-up": "^6.3.0" + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, "engines": { - "node": ">=12.20" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "node_modules/postcss-double-position-gradients": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz", + "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "github", + "url": "https://github.com/sponsors/csstools" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "opencollective", + "url": "https://opencollective.com/csstools" } ], - "license": "MIT", + "license": "MIT-0", "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", - "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", "funding": [ { "type": "github", @@ -20531,7 +23199,7 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", + "license": "MIT-0", "dependencies": { "postcss-selector-parser": "^7.0.0" }, @@ -20542,7 +23210,7 @@ "postcss": "^8.4" } }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", @@ -20555,41 +23223,105 @@ "node": ">=4" } }, - "node_modules/postcss-calc": { + "node_modules/postcss-focus-within": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.2.2" + "postcss": "^8.4" } }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "license": "MIT", + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "dependencies": { + "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=7.6.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.6" + "postcss": "^8.4" } }, - "node_modules/postcss-color-functional-notation": { + "node_modules/postcss-lab-function": { "version": "7.0.12", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz", - "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz", + "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==", "funding": [ { "type": "github", @@ -20615,36 +23347,32 @@ "postcss": "^8.4" } }, - "node_modules/postcss-color-hex-alpha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", - "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", "license": "MIT", "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=18" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "postcss": "^8.4" + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, - "node_modules/postcss-color-rebeccapurple": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", - "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "node_modules/postcss-logical": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.1.0.tgz", + "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==", "funding": [ { "type": "github", @@ -20657,7 +23385,6 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -20667,15 +23394,79 @@ "postcss": "^8.4" } }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", + "dependencies": { "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -20685,26 +23476,127 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-convert-values": { + "node_modules/postcss-minify-params": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", "license": "MIT", "dependencies": { "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-custom-media": { - "version": "11.0.6", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz", - "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==", + "node_modules/postcss-nesting": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz", + "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", "funding": [ { "type": "github", @@ -20715,12 +23607,11 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", + "license": "MIT-0", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.5", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/media-query-list-parser": "^4.0.3" + "@csstools/selector-resolve-nested": "^3.1.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": ">=18" @@ -20729,10 +23620,10 @@ "postcss": "^8.4" } }, - "node_modules/postcss-custom-properties": { - "version": "14.0.6", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz", - "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==", + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", + "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", "funding": [ { "type": "github", @@ -20743,25 +23634,18 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", - "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.5", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, + "license": "MIT-0", "engines": { "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4" + "postcss-selector-parser": "^7.0.0" } }, - "node_modules/postcss-custom-selectors": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz", - "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==", + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", "funding": [ { "type": "github", @@ -20772,21 +23656,15 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", - "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.5", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "postcss-selector-parser": "^7.0.0" - }, + "license": "MIT-0", "engines": { "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4" + "postcss-selector-parser": "^7.0.0" } }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", @@ -20799,49 +23677,26 @@ "node": ">=4" } }, - "node_modules/postcss-dir-pseudo-class": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", - "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", "engines": { - "node": ">=18" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.4" + "postcss": "^8.4.31" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "postcss-value-parser": "^4.2.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -20849,11 +23704,14 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -20861,11 +23719,14 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -20873,11 +23734,14 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-overridden": { + "node_modules/postcss-normalize-string": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -20885,13 +23749,13 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -20900,89 +23764,67 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-double-position-gradients": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz", - "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0", + "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=18" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.4" + "postcss": "^8.4.31" } }, - "node_modules/postcss-focus-visible": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", - "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=18" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.4" + "postcss": "^8.4.31" } }, - "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/postcss-focus-within": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", - "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/csstools" + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" }, { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" } ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, + "license": "MIT", "engines": { "node": ">=18" }, @@ -20990,32 +23832,26 @@ "postcss": "^8.4" } }, - "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "license": "MIT", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, "peerDependencies": { - "postcss": "^8.1.0" + "postcss": "^8.4.31" } }, - "node_modules/postcss-gap-properties": { + "node_modules/postcss-overflow-shorthand": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", - "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", "funding": [ { "type": "github", @@ -21027,6 +23863,9 @@ } ], "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": ">=18" }, @@ -21034,10 +23873,19 @@ "postcss": "^8.4" } }, - "node_modules/postcss-image-set-function": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", - "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", "funding": [ { "type": "github", @@ -21050,7 +23898,6 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -21060,10 +23907,10 @@ "postcss": "^8.4" } }, - "node_modules/postcss-lab-function": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz", - "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==", + "node_modules/postcss-preset-env": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.4.0.tgz", + "integrity": "sha512-2kqpOthQ6JhxqQq1FSAAZGe9COQv75Aw8WbsOvQVNJ2nSevc9Yx/IKZGuZ7XJ+iOTtVon7LfO7ELRzg8AZ+sdw==", "funding": [ { "type": "github", @@ -21076,11 +23923,73 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-alpha-function": "^1.0.1", + "@csstools/postcss-cascade-layers": "^5.0.2", + "@csstools/postcss-color-function": "^4.0.12", + "@csstools/postcss-color-function-display-p3-linear": "^1.0.1", + "@csstools/postcss-color-mix-function": "^3.0.12", + "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2", + "@csstools/postcss-content-alt-text": "^2.0.8", + "@csstools/postcss-contrast-color-function": "^2.0.12", + "@csstools/postcss-exponential-functions": "^2.0.9", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.11", + "@csstools/postcss-gradients-interpolation-method": "^5.0.12", + "@csstools/postcss-hwb-function": "^4.0.12", + "@csstools/postcss-ic-unit": "^4.0.4", + "@csstools/postcss-initial": "^2.0.1", + "@csstools/postcss-is-pseudo-class": "^5.0.3", + "@csstools/postcss-light-dark-function": "^2.0.11", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.4", + "@csstools/postcss-media-minmax": "^2.0.9", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.12", "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" + "@csstools/postcss-random-function": "^2.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.12", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.4", + "@csstools/postcss-stepped-value-functions": "^4.0.9", + "@csstools/postcss-text-decoration-shorthand": "^4.0.3", + "@csstools/postcss-trigonometric-functions": "^4.0.9", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.21", + "browserslist": "^4.26.0", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.3", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.4.2", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.12", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.6", + "postcss-custom-properties": "^14.0.6", + "postcss-custom-selectors": "^8.0.5", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.4", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.12", + "postcss-logical": "^8.1.0", + "postcss-nesting": "^13.0.2", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" }, "engines": { "node": ">=18" @@ -21089,32 +23998,10 @@ "postcss": "^8.4" } }, - "node_modules/postcss-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-logical": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.1.0.tgz", - "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==", + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", "funding": [ { "type": "github", @@ -21127,7 +24014,7 @@ ], "license": "MIT-0", "dependencies": { - "postcss-value-parser": "^4.2.0" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": ">=18" @@ -21136,13 +24023,25 @@ "postcss": "^8.4" } }, - "node_modules/postcss-merge-idents": { + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-idents": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", "license": "MIT", "dependencies": { - "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -21152,14 +24051,14 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -21168,77 +24067,149 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4" } }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, - "peerDependencies": { - "postcss": "^8.4.31" + "engines": { + "node": ">=4" } }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", "license": "MIT", "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "sort-css-media-queries": "2.2.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=14.0.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.23" } }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^14 || ^16 || >= 18" }, "peerDependencies": { "postcss": "^8.4.31" } }, - "node_modules/postcss-minify-selectors": { + "node_modules/postcss-unique-selectors": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" @@ -21250,1079 +24221,1200 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { + "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.1.0" + "postcss": "^8.4.31" } }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "license": "MIT", + "node_modules/postman-code-generators": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/postman-code-generators/-/postman-code-generators-1.14.2.tgz", + "integrity": "sha512-qZAyyowfQAFE4MSCu2KtMGGQE/+oG1JhMZMJNMdZHYCSfQiVVeKxgk3oI4+KJ3d1y5rrm2D6C6x+Z+7iyqm+fA==", + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "async": "3.2.2", + "detect-package-manager": "3.0.2", + "lodash": "4.17.21", + "path": "0.12.7", + "postman-collection": "^4.4.0", + "shelljs": "0.8.5" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "license": "ISC", + "node_modules/postman-code-generators/node_modules/async": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", + "license": "MIT" + }, + "node_modules/postman-collection": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.5.0.tgz", + "integrity": "sha512-152JSW9pdbaoJihwjc7Q8lc3nPg/PC9lPTHdMk7SHnHhu/GBJB7b2yb9zG7Qua578+3PxkQ/HYBuXpDSvsf7GQ==", + "license": "Apache-2.0", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "@faker-js/faker": "5.5.3", + "file-type": "3.9.0", + "http-reasons": "0.1.0", + "iconv-lite": "0.6.3", + "liquid-json": "0.3.1", + "lodash": "4.17.21", + "mime-format": "2.0.1", + "mime-types": "2.1.35", + "postman-url-encoder": "3.0.5", + "semver": "7.6.3", + "uuid": "8.3.2" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=10" } }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "node_modules/postman-collection/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, + "node_modules/postman-collection/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==", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">= 0.6" } }, - "node_modules/postcss-nesting": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz", - "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", + "node_modules/postman-collection/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==", + "license": "MIT", "dependencies": { - "@csstools/selector-resolve-nested": "^3.1.0", - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", - "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" + "mime-db": "1.52.0" }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "node": ">= 0.6" } }, - "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "license": "MIT", + "node_modules/postman-url-encoder": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz", + "integrity": "sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==", + "license": "Apache-2.0", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "punycode": "^2.1.1" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "lodash": "^4.17.20", + "renderkid": "^3.0.0" } }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "dev": true, "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "parse-ms": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "node_modules/prism-react-renderer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "react": ">=16.0.0" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=6" } }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.6.0" } }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", - "license": "MIT", + "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==" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 6" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==" + }, + "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==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-opacity-percentage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", - "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], + "node_modules/proxy-addr/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==", "license": "MIT", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.10" } }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=6" } }, - "node_modules/postcss-overflow-shorthand": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", - "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", + "node_modules/pupa": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.3.0.tgz", + "integrity": "sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "escape-goat": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=12.20" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "node_modules/qified": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/qified/-/qified-0.5.1.tgz", + "integrity": "sha512-+BtFN3dCP+IaFA6IYNOu/f/uK1B8xD2QWyOeCse0rjtAebBmkzgd2d1OAXi3ikAzJMIBSdzZDNZ3wZKEUDQs5w==", + "dev": true, "license": "MIT", - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", - "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", "dependencies": { - "postcss-value-parser": "^4.2.0" + "hookified": "^1.12.2" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=20" } }, - "node_modules/postcss-preset-env": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.4.0.tgz", - "integrity": "sha512-2kqpOthQ6JhxqQq1FSAAZGe9COQv75Aw8WbsOvQVNJ2nSevc9Yx/IKZGuZ7XJ+iOTtVon7LfO7ELRzg8AZ+sdw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "@csstools/postcss-alpha-function": "^1.0.1", - "@csstools/postcss-cascade-layers": "^5.0.2", - "@csstools/postcss-color-function": "^4.0.12", - "@csstools/postcss-color-function-display-p3-linear": "^1.0.1", - "@csstools/postcss-color-mix-function": "^3.0.12", - "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2", - "@csstools/postcss-content-alt-text": "^2.0.8", - "@csstools/postcss-contrast-color-function": "^2.0.12", - "@csstools/postcss-exponential-functions": "^2.0.9", - "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.11", - "@csstools/postcss-gradients-interpolation-method": "^5.0.12", - "@csstools/postcss-hwb-function": "^4.0.12", - "@csstools/postcss-ic-unit": "^4.0.4", - "@csstools/postcss-initial": "^2.0.1", - "@csstools/postcss-is-pseudo-class": "^5.0.3", - "@csstools/postcss-light-dark-function": "^2.0.11", - "@csstools/postcss-logical-float-and-clear": "^3.0.0", - "@csstools/postcss-logical-overflow": "^2.0.0", - "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", - "@csstools/postcss-logical-resize": "^3.0.0", - "@csstools/postcss-logical-viewport-units": "^3.0.4", - "@csstools/postcss-media-minmax": "^2.0.9", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", - "@csstools/postcss-nested-calc": "^4.0.0", - "@csstools/postcss-normalize-display-values": "^4.0.0", - "@csstools/postcss-oklab-function": "^4.0.12", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/postcss-random-function": "^2.0.1", - "@csstools/postcss-relative-color-syntax": "^3.0.12", - "@csstools/postcss-scope-pseudo-class": "^4.0.1", - "@csstools/postcss-sign-functions": "^1.1.4", - "@csstools/postcss-stepped-value-functions": "^4.0.9", - "@csstools/postcss-text-decoration-shorthand": "^4.0.3", - "@csstools/postcss-trigonometric-functions": "^4.0.9", - "@csstools/postcss-unset-value": "^4.0.0", - "autoprefixer": "^10.4.21", - "browserslist": "^4.26.0", - "css-blank-pseudo": "^7.0.1", - "css-has-pseudo": "^7.0.3", - "css-prefers-color-scheme": "^10.0.0", - "cssdb": "^8.4.2", - "postcss-attribute-case-insensitive": "^7.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.12", - "postcss-color-hex-alpha": "^10.0.0", - "postcss-color-rebeccapurple": "^10.0.0", - "postcss-custom-media": "^11.0.6", - "postcss-custom-properties": "^14.0.6", - "postcss-custom-selectors": "^8.0.5", - "postcss-dir-pseudo-class": "^9.0.1", - "postcss-double-position-gradients": "^6.0.4", - "postcss-focus-visible": "^10.0.1", - "postcss-focus-within": "^9.0.1", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^6.0.0", - "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.12", - "postcss-logical": "^8.1.0", - "postcss-nesting": "^13.0.2", - "postcss-opacity-percentage": "^3.0.0", - "postcss-overflow-shorthand": "^6.0.0", - "postcss-page-break": "^3.0.4", - "postcss-place": "^10.0.0", - "postcss-pseudo-class-any-link": "^10.0.1", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^8.0.1" + "side-channel": "^1.0.6" }, "engines": { - "node": ">=18" + "node": ">=0.6" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", - "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "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==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/csstools" + "url": "https://github.com/sponsors/feross" }, { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ], - "license": "MIT-0", + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.6" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "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==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/postcss-reduce-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "react": "^19.2.0" } }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", - "license": "MIT", + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "name": "@slorber/react-helmet-async", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==", + "license": "Apache-2.0", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-hook-form": { + "version": "7.68.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.68.0.tgz", + "integrity": "sha512-oNN3fjrZ/Xo40SWlHf1yCjlMK417JxoSJVUXQjGdvdRCU07NTFei1i1f8ApUAts+IVh14e4EdakeLEA+BEAs/Q==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view-lite": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz", + "integrity": "sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "react": "^18.0.0 || ^19.0.0" } }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" + }, + "node_modules/react-live": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/react-live/-/react-live-4.1.8.tgz", + "integrity": "sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "prism-react-renderer": "^2.4.0", + "sucrase": "^3.35.0", + "use-editable": "^2.3.3" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">= 0.12.0", + "npm": ">= 2.0.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "react": ">=18.0.0", + "react-dom": ">=18.0.0" } }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "license": "MIT", + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "dependencies": { + "@types/react": "*" + }, "peerDependencies": { - "postcss": "^8.0.3" + "react": "*" } }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", - "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", - "dev": true - }, - "node_modules/postcss-safe-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", - "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, "engines": { - "node": ">=18.0" + "node": ">=10.13.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" } }, - "node_modules/postcss-selector-not": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", - "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/react-magic-dropzone": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz", + "integrity": "sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" }, - "engines": { - "node": ">=18" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" }, "peerDependencies": { - "postcss": "^8.4" + "@types/react": ">=16", + "react": ">=16" } }, - "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "node_modules/react-markdown/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "@types/unist": "^2" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "node_modules/react-markdown/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "@types/unist": "^2" } }, - "node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "node_modules/react-markdown/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", "license": "MIT", "dependencies": { - "sort-css-media-queries": "2.2.0" - }, - "engines": { - "node": ">=14.0.0" + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" }, - "peerDependencies": { - "postcss": "^8.4.23" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "node_modules/react-markdown/node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "node_modules/react-markdown/node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/mdast": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "node_modules/react-markdown/node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } }, - "node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "node_modules/react-markdown/node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.8.0" + "node_modules/react-markdown/node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "node_modules/react-markdown/node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/pretty-ms": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", - "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", - "dev": true, + "node_modules/react-markdown/node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "parse-ms": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/pretty-time": { + "node_modules/react-markdown/node_modules/micromark-factory-whitespace": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/prism-react-renderer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", - "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "node_modules/react-markdown/node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.0.0" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "node_modules/react-markdown/node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "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==" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/react-markdown/node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "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==" - }, - "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==", + "node_modules/react-markdown/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/proxy-addr/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==", + "node_modules/react-markdown/node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", - "engines": { - "node": ">= 0.10" + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/pupa": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.3.0.tgz", - "integrity": "sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==", + "node_modules/react-markdown/node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/qified": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/qified/-/qified-0.5.1.tgz", - "integrity": "sha512-+BtFN3dCP+IaFA6IYNOu/f/uK1B8xD2QWyOeCse0rjtAebBmkzgd2d1OAXi3ikAzJMIBSdzZDNZ3wZKEUDQs5w==", - "dev": true, + "node_modules/react-markdown/node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "license": "MIT", "dependencies": { - "hookified": "^1.12.2" - }, - "engines": { - "node": ">=20" + "micromark-util-types": "^1.0.0" } }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "license": "BSD-3-Clause", + "node_modules/react-markdown/node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" } }, - "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==", + "node_modules/react-markdown/node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } + "node_modules/react-markdown/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "node_modules/react-markdown/node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/react-markdown/node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/react-markdown/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/react-markdown/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "@types/unist": "^2.0.0" }, - "bin": { - "rc": "cli.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" + "node_modules/react-markdown/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "node_modules/react-markdown/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "node_modules/react-markdown/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", "license": "MIT", "dependencies": { - "scheduler": "^0.27.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" }, - "peerDependencies": { - "react": "^19.2.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "name": "@slorber/react-helmet-async", - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==", - "license": "Apache-2.0", + "node_modules/react-markdown/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-json-view-lite": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz", - "integrity": "sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==", + "node_modules/react-markdown/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "node_modules/react-markdown/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", "dependencies": { - "@types/react": "*" + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" }, - "peerDependencies": { - "react": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "node_modules/react-modal": { + "version": "3.16.3", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.3.tgz", + "integrity": "sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" }, "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19" } }, "node_modules/react-router": { @@ -22489,6 +25581,44 @@ "node": ">=8.10.0" } }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "license": "MIT", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -22830,7 +25960,6 @@ "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==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -22857,6 +25986,12 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "license": "MIT" }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "license": "MIT" + }, "node_modules/resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -23082,7 +26217,19 @@ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, "dependencies": { - "tslib": "^2.1.0" + "tslib": "^2.1.0" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/safe-buffer": { @@ -23095,6 +26242,94 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sass": { + "version": "1.96.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.96.0.tgz", + "integrity": "sha512-8u4xqqUeugGNCYwr9ARNtQKTOj4KmYiJAVKXf2CTIivTCR51j96htbMKWDru8H5SaQWpyVgTfOF8Ylyf5pun1Q==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-loader": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.6.tgz", + "integrity": "sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==", + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/sax": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", @@ -26598,12 +29833,10 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -26641,22 +29874,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semver/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/semver/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/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", @@ -26941,6 +30158,77 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "license": "MIT" + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -27197,6 +30485,15 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -27825,6 +31122,37 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/super-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", @@ -27946,6 +31274,33 @@ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "license": "CC0-1.0" }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/swr": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.6.tgz", @@ -28144,13 +31499,13 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "peer": true }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, "license": "MIT", "dependencies": { "any-promise": "^1.0.0" @@ -28160,7 +31515,6 @@ "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==", - "dev": true, "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" @@ -28248,7 +31602,6 @@ "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -28265,7 +31618,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -28283,7 +31635,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -28342,6 +31693,12 @@ "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, "node_modules/traverse": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", @@ -28400,6 +31757,12 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, "node_modules/tsc-files": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/tsc-files/-/tsc-files-1.1.4.tgz", @@ -28651,6 +32014,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-is": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", @@ -28877,12 +32250,17 @@ "punycode": "^2.1.0" } }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, "node_modules/url-join": { @@ -28985,6 +32363,21 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/use-editable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/use-editable/-/use-editable-2.3.3.tgz", + "integrity": "sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==", + "license": "MIT", + "peerDependencies": { + "react": ">= 16.8.0" + } + }, "node_modules/use-sync-external-store": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", @@ -28994,11 +32387,26 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, "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/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", @@ -29031,6 +32439,33 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uvu/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -29042,6 +32477,39 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==", + "license": "MIT" + }, + "node_modules/validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==" + }, + "node_modules/validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", + "dependencies": { + "validate.io-number": "^1.0.3" + } + }, + "node_modules/validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "node_modules/validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==" + }, "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", @@ -29097,6 +32565,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", @@ -29137,6 +32614,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "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==", + "license": "BSD-2-Clause" + }, "node_modules/webpack": { "version": "5.101.3", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz", @@ -29554,6 +33037,16 @@ "node": ">=18" } }, + "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==", + "license": "MIT", + "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", @@ -29662,8 +33155,7 @@ "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 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "3.0.3", @@ -29740,6 +33232,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/xml-formatter": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-2.6.1.tgz", + "integrity": "sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw==", + "license": "MIT", + "dependencies": { + "xml-parser-xo": "^3.2.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/xml-js": { "version": "1.6.11", "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", @@ -29752,6 +33256,15 @@ "xml-js": "bin/cli.js" } }, + "node_modules/xml-parser-xo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-3.2.0.tgz", + "integrity": "sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -29765,7 +33278,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -29776,11 +33288,25 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "license": "Apache-2.0" + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -29806,14 +33332,12 @@ "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==", - "dev": true + "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==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -29827,7 +33351,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, "engines": { "node": ">=12" } diff --git a/package.json b/package.json index 49d4e8d0..2924f446 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,9 @@ "lint": "npm run lint:js && npm run lint:style", "lint:js": "eslint . --ext js,jsx,ts,tsx --max-warnings=0", "lint:style": "stylelint \"**/*.css\"", - "lint:fix": "npm run lint:js -- --fix" + "lint:fix": "npm run lint:js -- --fix", + "gen-api-docs": "docusaurus gen-api-docs all && rm -f docs/reference/api/eth1/*.info.mdx docs/reference/api/eth2/*.info.mdx", + "clean-api-docs": "docusaurus clean-api-docs all" }, "lint-staged": { "src/**/*.{ts,js,jsx,tsx}": "npm run lint:fix", @@ -34,6 +36,8 @@ "@easyops-cn/docusaurus-search-local": "^0.52.1", "@mdx-js/react": "^3.1.1", "clsx": "^2.1.1", + "docusaurus-plugin-openapi-docs": "^4.5.1", + "docusaurus-theme-openapi-docs": "^4.5.1", "prism-react-renderer": "^2.4.1", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/scripts/normalize_openapi_servers.cjs b/scripts/normalize_openapi_servers.cjs new file mode 100644 index 00000000..fd59ce6c --- /dev/null +++ b/scripts/normalize_openapi_servers.cjs @@ -0,0 +1,75 @@ +/** + * Normalize OpenAPI `servers` values for this documentation site. + * + * Why: + * - Upstream specs often include `url: /` and/or `url: http://localhost:9000/`. + * - The docs theme can display `//path` when a base URL ends with `/` and the path begins with `/`. + * + * What this script does: + * - Replaces the entire `servers:` block with: + * - url: "" + * - url: http://localhost:9000 + * + * Targets: + * - src/openapi-specs/eth1/web3signer.yaml + * - src/openapi-specs/eth2/web3signer.yaml + */ + +const fs = require("node:fs"); +const path = require("node:path"); + +const repoRoot = path.resolve(__dirname, ".."); +const targets = [ + path.join(repoRoot, "src", "openapi-specs", "eth1", "web3signer.yaml"), + path.join(repoRoot, "src", "openapi-specs", "eth2", "web3signer.yaml"), +]; + +const normalizedBlock = [ + 'servers:', + ' - url: ""', + ' - url: http://localhost:9000', + '', +].join("\n"); + +const serversRe = /^servers:\n(?:^[ \t].*\n)*/m; +const infoRe = /^info:\n(?:^[ \t].*\n)*/m; + +function normalizeServers(text) { + if (serversRe.test(text)) { + return text.replace(serversRe, normalizedBlock); + } + + const infoMatch = text.match(infoRe); + if (infoMatch && infoMatch.index !== undefined) { + const insertAt = infoMatch.index + infoMatch[0].length; + return text.slice(0, insertAt) + "\n" + normalizedBlock + text.slice(insertAt); + } + + return normalizedBlock + text; +} + +let changed = 0; +for (const filePath of targets) { + if (!fs.existsSync(filePath)) { + console.error(`normalize_openapi_servers: missing file: ${filePath}`); + process.exitCode = 2; + continue; + } + const before = fs.readFileSync(filePath, "utf8"); + const after = normalizeServers(before); + if (after !== before) { + fs.writeFileSync(filePath, after, "utf8"); + changed += 1; + console.log( + `normalize_openapi_servers: updated ${path.relative(repoRoot, filePath)}` + ); + } +} + +if (process.exitCode && process.exitCode !== 0) { + // keep exitCode +} else if (changed === 0) { + console.log("normalize_openapi_servers: no changes needed"); +} + + diff --git a/sidebars.js b/sidebars.js index 2a7035d0..fcbf6a42 100644 --- a/sidebars.js +++ b/sidebars.js @@ -74,8 +74,71 @@ const sidebars = { }, items: [ { - type: "autogenerated", - dirName: "reference", + type: "category", + label: "Command line", + link: { + type: "generated-index", + slug: "/reference/cli", + }, + items: [ + { + type: "autogenerated", + dirName: "reference/cli", + }, + ], + }, + { + type: "doc", + id: "reference/api/json-rpc", + label: "JSON-RPC API", + }, + { + type: "category", + label: "REST API", + link: { + type: "doc", + id: "reference/api/rest", + }, + items: [ + { + type: "category", + label: "Consensus layer", + collapsed: true, + link: { + type: "generated-index", + slug: "/reference/api/eth2", + }, + items: [ + { + type: "autogenerated", + dirName: "reference/api/eth2", + }, + ], + }, + { + type: "category", + label: "Execution layer", + collapsed: true, + link: { + type: "generated-index", + slug: "/reference/api/eth1", + }, + items: [ + { + type: "autogenerated", + dirName: "reference/api/eth1", + }, + ], + }, + ], + }, + { + type: "doc", + id: "reference/key-config-file-params", + }, + { + type: "doc", + id: "reference/security-disclosure", }, ], }, diff --git a/src/openapi-specs/README.md b/src/openapi-specs/README.md new file mode 100644 index 00000000..3b245775 --- /dev/null +++ b/src/openapi-specs/README.md @@ -0,0 +1,31 @@ +# OpenAPI Specifications + +This directory contains OpenAPI specifications synced from the [Web3Signer repository](https://github.com/Consensys/web3signer). + +> **Note:** These specs are in `src/` because they are only used at build time to generate the API documentation. They are not included in the final site output. + +## Files + +- `eth2/` - Original ETH2 OpenAPI spec files (synced from Web3Signer) +- `eth1/` - Original ETH1 OpenAPI spec files (synced from Web3Signer) +- `eth2-bundled.yaml` - Bundled ETH2 spec with all `$ref` resolved +- `eth1-bundled.yaml` - Bundled ETH1 spec with all `$ref` resolved + +## Syncing + +These files are automatically synced from the Web3Signer repository via the `sync-openapi.yml` GitHub Action workflow. + +To manually sync: + +1. Run the workflow from the Actions tab, or +2. Run locally: + ```bash + npm run gen-api-docs + ``` + +## Generated Documentation + +The generated API documentation is output to: +- `docs/reference/api/eth2/` - Consensus layer API docs +- `docs/reference/api/eth1/` - Execution layer API docs + From c774863970cb0af5dca5674e18f7bc52e200be1b Mon Sep 17 00:00:00 2001 From: bgravenorst Date: Fri, 12 Dec 2025 13:49:43 +1000 Subject: [PATCH 2/4] Fix redirect issue. Signed-off-by: bgravenorst --- docusaurus.config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index e0a774bf..36d8c675 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -315,11 +315,11 @@ const config = { }, { from: "/reference/api/eth2/web-3-signer-eth-2-api", - to: "/reference/api/eth2", + to: "/development/reference/api/eth2", }, { from: "/reference/api/eth1/web-3-signer-eth-1-api", - to: "/reference/api/eth1", + to: "/development/reference/api/eth1", }, { from: "/HowTo/Get-Started/Build-From-Source", From ee32d16da0afca3cac66edfa0f4eba3849916056 Mon Sep 17 00:00:00 2001 From: bgravenorst Date: Tue, 16 Dec 2025 12:00:28 +1000 Subject: [PATCH 3/4] Simplify config. Signed-off-by: bgravenorst --- .github/workflows/sync-openapi.yml | 4 +- .github/workflows/validate-openapi-docs.yml | 62 - .gitignore | 3 - .../api/eth1/web-3-signer-eth-1-api.info.mdx | 47 + docs/reference/api/eth2/reload-status.api.mdx | 71 + docs/reference/api/eth2/reload.api.mdx | 25 +- .../api/eth2/web-3-signer-eth-2-api.info.mdx | 47 + docs/reference/api/rest.md | 44 +- docusaurus.config.js | 20 +- package-lock.json | 1597 +++++++++++- package.json | 3 +- src/openapi-specs/README.md | 17 +- src/scripts/manual_sync_openapi.cjs | 108 + .../scripts}/normalize_openapi_servers.cjs | 29 +- src/src/openapi-specs/eth1-bundled.yaml | 149 ++ src/src/openapi-specs/eth1/web3signer.yaml | 158 ++ src/src/openapi-specs/eth2-bundled.yaml | 2151 +++++++++++++++++ .../eth2/keymanager/paths/keystores.yaml | 187 ++ .../eth2/keymanager/schemas.yaml | 65 + .../eth2/signing/paths/healthcheck.yaml | 20 + .../eth2/signing/paths/high_watermark.yaml | 24 + .../eth2/signing/paths/public_keys.yaml | 20 + .../eth2/signing/paths/reload.yaml | 138 ++ .../eth2/signing/paths/sign.yaml | 854 +++++++ .../eth2/signing/paths/upcheck.yaml | 17 + .../openapi-specs/eth2/signing/schemas.yaml | 814 +++++++ src/src/openapi-specs/eth2/web3signer.yaml | 32 + 27 files changed, 6536 insertions(+), 170 deletions(-) delete mode 100644 .github/workflows/validate-openapi-docs.yml create mode 100644 docs/reference/api/eth1/web-3-signer-eth-1-api.info.mdx create mode 100644 docs/reference/api/eth2/reload-status.api.mdx create mode 100644 docs/reference/api/eth2/web-3-signer-eth-2-api.info.mdx create mode 100644 src/scripts/manual_sync_openapi.cjs rename {scripts => src/scripts}/normalize_openapi_servers.cjs (72%) create mode 100644 src/src/openapi-specs/eth1-bundled.yaml create mode 100644 src/src/openapi-specs/eth1/web3signer.yaml create mode 100644 src/src/openapi-specs/eth2-bundled.yaml create mode 100644 src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml create mode 100644 src/src/openapi-specs/eth2/keymanager/schemas.yaml create mode 100644 src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml create mode 100644 src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml create mode 100644 src/src/openapi-specs/eth2/signing/paths/public_keys.yaml create mode 100644 src/src/openapi-specs/eth2/signing/paths/reload.yaml create mode 100644 src/src/openapi-specs/eth2/signing/paths/sign.yaml create mode 100644 src/src/openapi-specs/eth2/signing/paths/upcheck.yaml create mode 100644 src/src/openapi-specs/eth2/signing/schemas.yaml create mode 100644 src/src/openapi-specs/eth2/web3signer.yaml diff --git a/.github/workflows/sync-openapi.yml b/.github/workflows/sync-openapi.yml index 43f2d354..eb81a0ce 100644 --- a/.github/workflows/sync-openapi.yml +++ b/.github/workflows/sync-openapi.yml @@ -39,7 +39,7 @@ jobs: git sparse-checkout set openapi-specs cd .. - # Copy the specs to local directory used by the docs generator + # Copy the specs to the build-time directory used by the docs generator rm -rf src/openapi-specs/eth1 src/openapi-specs/eth2 cp -r temp-web3signer/openapi-specs/eth1 src/openapi-specs/ cp -r temp-web3signer/openapi-specs/eth2 src/openapi-specs/ @@ -49,7 +49,7 @@ jobs: - name: Bundle OpenAPI specs run: | - node scripts/normalize_openapi_servers.cjs + node src/scripts/normalize_openapi_servers.cjs npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth2/web3signer.yaml -o src/openapi-specs/eth2-bundled.yaml npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth1/web3signer.yaml -o src/openapi-specs/eth1-bundled.yaml diff --git a/.github/workflows/validate-openapi-docs.yml b/.github/workflows/validate-openapi-docs.yml deleted file mode 100644 index 68a880af..00000000 --- a/.github/workflows/validate-openapi-docs.yml +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: Validate generated OpenAPI docs - -on: - pull_request: - paths: - - "docs/reference/api/**" - - "docusaurus.config.js" - - "package.json" - - "package-lock.json" - workflow_dispatch: {} - -jobs: - validate: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20" - cache: "npm" - - - name: Install dependencies - run: npm ci - - - name: Fetch OpenAPI specs from Web3Signer - run: | - mkdir -p src/openapi-specs - # Clone only the openapi-specs directory using sparse checkout - git clone --depth 1 --filter=blob:none --sparse \ - https://github.com/Consensys/web3signer.git temp-web3signer - cd temp-web3signer - git sparse-checkout set openapi-specs - cd .. - - # Copy the specs to local directory used by the docs generator - rm -rf src/openapi-specs/eth1 src/openapi-specs/eth2 - cp -r temp-web3signer/openapi-specs/eth1 src/openapi-specs/ - cp -r temp-web3signer/openapi-specs/eth2 src/openapi-specs/ - - # Cleanup - rm -rf temp-web3signer - - - name: Bundle OpenAPI specs - run: | - node scripts/normalize_openapi_servers.cjs - npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth2/web3signer.yaml -o src/openapi-specs/eth2-bundled.yaml - npx --yes @redocly/cli@2.12.6 bundle src/openapi-specs/eth1/web3signer.yaml -o src/openapi-specs/eth1-bundled.yaml - - - name: Regenerate API documentation - run: | - npm run clean-api-docs - npm run gen-api-docs - - - name: Ensure generated files are committed - run: | - git status --porcelain - git diff --exit-code -- docs/reference/api - - diff --git a/.gitignore b/.gitignore index 6bdb25ee..1790976f 100644 --- a/.gitignore +++ b/.gitignore @@ -9,9 +9,6 @@ .cache-loader .idea -# Generated OpenAPI sidebar files (we use autogenerated in sidebars.js) -docs/reference/api/*/sidebar.ts - # OpenAPI specs fetched from Web3Signer repo (generated at build time) src/openapi-specs/eth1/ src/openapi-specs/eth2/ diff --git a/docs/reference/api/eth1/web-3-signer-eth-1-api.info.mdx b/docs/reference/api/eth1/web-3-signer-eth-1-api.info.mdx new file mode 100644 index 00000000..a51c2f0c --- /dev/null +++ b/docs/reference/api/eth1/web-3-signer-eth-1-api.info.mdx @@ -0,0 +1,47 @@ +--- +id: web-3-signer-eth-1-api +title: "Web3Signer ETH1 API" +description: "Sign ETH1 Artifacts" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Heading from "@theme/Heading"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiExplorer/Export"; + + + + + + + + + +Sign ETH1 Artifacts + +
+

+ License +

+ Apache 2.0 + +
+ \ No newline at end of file diff --git a/docs/reference/api/eth2/reload-status.api.mdx b/docs/reference/api/eth2/reload-status.api.mdx new file mode 100644 index 00000000..f236d0b3 --- /dev/null +++ b/docs/reference/api/eth2/reload-status.api.mdx @@ -0,0 +1,71 @@ +--- +id: reload-status +title: "Get reload operation status" +description: "Returns the current status of the reload operation. Use this to monitor background reload progress." +sidebar_label: "Get reload operation status" +hide_title: true +hide_table_of_contents: true +api: eJztVsFu2zgQ/RViTgkg24qLLra6GVmjG2yQLGIHBZoECS2NJbYSqZKjOIbhf18MJdmWrXR72dvmEpniPL6ZefPEDZBMHUQPcIe5kYmYqVSjFX/h2sFTAAm62KqSlNEQwR1SZbUTlKGIK2tRk3AkqXLCLP2qrVFMiVZy0FDcOxSUKSfIiMJoRcaKhYy/p9ZUOmkDSmtSi84NH/WjnmfYwqJOSqM08YZXlaATr8qphcoVrYXSZKJHPRBfMqQMrZAtnHItv5y37eB586yKY3ROGCuWUuWVxZZ8Lh2dZMAhN1WxQMvbXF0e3qJ0KtBaY5llbCpNaDERZ2oppF6fc9xcFehIFmXnhANoCGD36yrhCk+vbyd/PM/mk/n9DAKw6EqjHTqINjAOQ/7X7cll04eGd103CCA2mlATB8iyzFXsDxl9cxy1ARdnWEh+onWJEIFZfMOY/JE/KmUxYVE0aE8BlJaJkqqZNOv7aEdW6RQCQF0VHKmSHBms0rp+EZuizJEwOXx+XinKnusqQgDcD0xOdXd5orXjLnkZvPChL5G4Me37TDqxQNSCrEpT3581UsC9d2tHWIhvlfO4ljDxGA3jl0jcHZ3xU1W97HJ6icT1gZB268LVwltWeb4WnLjQplFQF+GwKu+iLSoSzhTYSjI2eqnSqqbqRF1KHjqO8/j10hFgsy+pkPcqvbTSka1i4rnwFMQZDtNhIPAN44qn12UVJWalzx81bANgTd+2NWLF98liaWwhCSJIJOGAeNdxkzvD0juKdZ9GTQ144exqdjv4/bfwQtQHnA/FZOFYKmrJ1f2pDIYt+ymn2ce6S9BvY+mspGWJiAKdkymKpTVFP+Oh+Nui57PKsBFpLeIXVtO+JZdGk1TaHXegdagESarcnQC8p5kdnjemHudqgB37bVMyptiOGGP7aQr2E+HH5kDnQ+7/dhsAvkle837g554doioKadcQwZVWpGTukVEMDtrS6QYE8CrzCg/tpUbjI1of6SA3A3owib0gew/qkSqMw/HHwcV4cBHOL8LoQxiF4Vd/5N6wOofOdlPcptEd5V4Kh+b3SyQuPh6R6DhlXxXedYZjL/g5wSNH/jWy46/QmaRTTr5GH3o/n2fu3KfamH9fbv9uUr1JNYi/mkX4ThY1TCSmOwNE+6piFJWWr1LlcuFF6v8CKJAyw5/y1Gu6lJRBBKNaKxAAByP38GEDlc0hAtgG7WNGVEajUW5imWfGUfQpDEPYPgWg9NJ4i1LEAwZfcPGhuatN53+OxaRUJ4bF78WUsrGYWFJLGZNXJ1pXvx8Pw2HIOasYtfO109IXZ1LKOEMx9q871Far1VD6t0Nj01ET6kbXV5fTm9l0wJgZFblvaWkcFVIfAH/Gfluv7ywd+pv9Feb/i+d/cPFsPnaEbzQqc6n8x9z3etOo9gEa1T4FwGrklc1mIR3e23y75eUfFfKgPjzx/FnlRyF6eNoGkKFM0HqZf0ee5UkcY3lg86fXUtb5bnw+T+ew3f4Dned2XA== +sidebar_class_name: "get api-method" +info_path: reference/api/eth2/web-3-signer-eth-2-api +custom_edit_url: null +hide_send_button: true +--- + +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import ParamsDetails from "@theme/ParamsDetails"; +import RequestSchema from "@theme/RequestSchema"; +import StatusCodes from "@theme/StatusCodes"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; +import Heading from "@theme/Heading"; + + + + + + + + + + +Returns the current status of the reload operation. Use this to monitor background reload progress. + +The status endpoint provides visibility into: +- Whether a reload is currently in progress +- Success or failure of the last reload operation +- Number of signer loading errors encountered (if any) +- Timestamp of the last operation + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/api/eth2/reload.api.mdx b/docs/reference/api/eth2/reload.api.mdx index baba3be3..b78fcdc4 100644 --- a/docs/reference/api/eth2/reload.api.mdx +++ b/docs/reference/api/eth2/reload.api.mdx @@ -1,11 +1,11 @@ --- id: reload title: "Reload signer keys asynchronously" -description: "Reloads signer keys asynchronously. This is used after adding new keys to a current set of validators." +description: "Reloads signer keys asynchronously in the background. This endpoint is used after adding, removing," sidebar_label: "Reload signer keys asynchronously" hide_title: true hide_table_of_contents: true -api: eJzdUk2P0zAQ/SujOZs0KuJAbtVSiYrVLqJFHEoPU2faWOvawTPZEkX578htEN0V/AFOtubjzZs3b0Clo2C1xS/sI9WwdsfACT5xL7gzWLPY5Fp1MWA11QjIteiJewGSPtgmxRA78X0Bm8YJOIFOuAY6KCegunbhCIHP1xaNQGC7lDgoCCvEAzyTdzVpTFJ8D5uGwZL3kKaB2vA0LdRwoicW+Mb7txMPOlPiDJLLbEPhyAU8RL1y2Pd/wMF6x0HzDDQYW06UV1vVebnl/ePiAxpMLG0MwoLVgPOyzM9LHe4yNycgnbUscug8jgbf/a10FZRTIH/hO4krnJ45AacUE46jwRNrEzOHNoqiwZa0wQpn1/XR4LUj32nALnmsEEfz+9uottVs5qMl30TR6n1ZljjuDLpwiJmSOvWMFd5wWG4+zmHROnx945yHpTZzWCR1B7IqaDBPv+bnRVmUaNA7y0E4wwc6ZfRFS7ZhmF/SL6idz+eCLtkipuNsapXZ/epu+bBevsmYjZ78RYyswYnCDfBkzX+77vUSA9oYlIP+f57Vvs2SKP/UWevJhey8i9jDZJstTrbZGcx2yJFh2JPw1+THMYd/dJx6rLY7g8+UHO2zO7a7Wyd+flxvcBx/AfmfbG0= +api: eJztVsFu20YQ/ZXBnlqDlgU1PUQ3IxUao2kSxA56iA1kRI7IjZez9M5QiiDo34tZSpZiJUWAXooiJ1Hc5cyb92be7sYp1uKmH9w7ChEruPY1U4I/aC3urnAVSZl8pz6ym+72CMiw6Z7WAihrLpsUOfYS1uAZtCGYY3lfp9hzNYKbxgsQV130rOAFeqEKcKGUAKvKc11AojYu89MtxwRtrPxi7bnOOTQmgoUPJKARWrwn+Ivmv+yg4goTQVzkvGWDXJPAymsTe4VEopjUcz265Vu+aQjSUGjsKKHVNb3lc7gukQUwBCgjL3zdJ6oOuSufqNSYPAkgVxmtEiyxDyr2+atMyxKDr/bk7OPkHLtNtcAKE3uuBRYxAbIRNnz25X74qcWwiKmlaqi8eNxoqAogLUc/W9Q/8Z4EpC9LEln0IazB6qM9EAFcog84D5Rz2lsj9rH+jO0daZ9YwLctVR6VwjpzCJPxBC7LkjqlClaNDwRdipbLgpSR1XNPcqq70X12dtV2MSmyAkclmZ6dWbY3HNYQ+VQLKJEh9QyogKC+JfhJ+rnQQ09saj70JCqQMlx4Nn4OLyIvgi81k3HFlV/6qsewl8HiG9IF+tAnEqiiQYESe6EMmVh9eoSiMW+1YO+F4OPvsxu4GNY+2mLZUHkPoqj90AuUUjS1ex5a4fqflEh0pAYticEvQGJLT+UfMBiDr6MOAzNfDw2GavmCJ1Y5O4NzUJsvb2gAq9azF7UwSzoMnQnPsaId0zHJ6JZd4R6Jv6psvGev3lz+5gqXSLrIQuKmGzcZT+zna06wFwRw3yHGiBeTMDfZSVe4wlnPEKvFxK4LvswALj6JBd44KRtq0Z503ZGbujj/RKVmVA+9T1SZWw0CuMK1JII1mVd1ycpRP8De7TjEEU2ea1c44r61GHvQX/O547KQS9op7raHjF+J/GWUl32LfJ4Iqyz37rthrDyLpr4cxH7SVm673RaOPmPbBTou5YD4CMVeisMMfbcYo9ziRx3+FMnIoGwL92z8/LQFLk+n15owWMH5HOhSrBOJ/Jc0z9N6KvgsD/G/13gwg/3X39RxQHEs4neTOYK3gdCsK60Ba/QMAZXSXqpfx+NTqa5YKTGG42NTKC0p7RCfZ8Oh3ACevdoJcILIbTMz2kQziy6KCdShNm7qdg3kCjfEtSvFxvUpuKlz22L/2Kh204uLEEsMTRSdPh+Px257VzjPi5jp9mpkuSOks5uXE7js/An5tg4zbSZwmdQvsFTrDss+rE9G49HYFS74kliyBIxtprvDsiGY5OUvoK1WqxHm1VFM9cXuU7l4dfVi9vp6dm4xG21DJsM4aJGPAu+G8dsXpKdFbA6z8eN69eN69eN69X+6Xu3ODqXPetEF9GxnS7abzc44P7idcd4VzgzR3mw2cxR6n8J2a68fekprN/1wV7glJm+12b9t4RrCilJ22ntam63lTjIPxNBb5pPD1qz20cLfvrm+cdvt3xGdA68= sidebar_class_name: "post api-method" info_path: reference/api/eth2/web-3-signer-eth-2-api custom_edit_url: null @@ -37,8 +37,23 @@ import Heading from "@theme/Heading"; -Reloads signer keys asynchronously. This is used after adding new keys to a current set of validators. -The call reloads the keys and makes Web3signer aware of the change. Not used by validator clients. +Reloads signer keys asynchronously in the background. This endpoint is used after adding, removing, +or modifying keystore files to make Web3Signer aware of the changes without restarting. + +The reload operation: +- Scans all configured keystore directories and remote vaults +- Loads valid signer configurations +- Logs warnings for any invalid configurations (malformed files, invalid keys, etc.) +- Makes successfully loaded signers available for signing operations +- Returns immediately with 202 Accepted while processing continues in the background + +**Important notes:** +- Only one reload operation can run at a time (subsequent requests return 409 Conflict) +- Individual signer loading failures do not cause the entire reload to fail +- Use `GET /reload` to check status and error counts +- Successfully loaded signers are available even if some configurations fail + +**Not used by validator clients** - this is an administrative endpoint for node operators. diff --git a/docs/reference/api/eth2/web-3-signer-eth-2-api.info.mdx b/docs/reference/api/eth2/web-3-signer-eth-2-api.info.mdx new file mode 100644 index 00000000..301f64f2 --- /dev/null +++ b/docs/reference/api/eth2/web-3-signer-eth-2-api.info.mdx @@ -0,0 +1,47 @@ +--- +id: web-3-signer-eth-2-api +title: "Web3Signer ETH2 Api" +description: "Sign Eth2 Artifacts" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Heading from "@theme/Heading"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiExplorer/Export"; + + + + + + + + + +Sign Eth2 Artifacts + +
+

+ License +

+ Apache 2.0 + +
+ \ No newline at end of file diff --git a/docs/reference/api/rest.md b/docs/reference/api/rest.md index 7e55c3b9..06e9483f 100644 --- a/docs/reference/api/rest.md +++ b/docs/reference/api/rest.md @@ -1,43 +1,37 @@ --- -description: REST API for signing consensus and execution layer payloads -sidebar_label: REST API +description: Use for signing consensus layer payloads +sidebar_position: 2 --- # Web3Signer REST API -The Web3Signer REST API provides endpoints for signing consensus layer and execution layer payloads. +The Web3Signer REST API contains an ETH2 (that is, consensus layer) API, and an ETH1 (that is, execution layer) API. +Use the ETH2 API for signing consensus layer payloads. -- **[Consensus layer endpoints](eth2/)** - Sign BLS artifacts including blocks, attestations, and validator registrations. -- **[Execution layer endpoints](eth1/)** - Sign SECP256K1 data for execution layer transactions. - -:::tip -We recommend using the [JSON-RPC API](json-rpc.md) for signing execution layer payloads. The execution layer REST API +We recommend using the [Web3Signer JSON-RPC API](json-rpc.md) for signing execution layer payloads. The ETH1 REST API contains a basic signing method but does not implement transaction encoding or create an Ethereum signature. -::: -## Use the API +## View the REST API documentation + +View the [REST API documentation] for more information about the available APIs. + +## Enable Swagger UI -You can interact with the Web3Signer APIs using tools such as [Postman] or [curl]. +You can interact with APIs using [Swagger UI]. +To do this, set [`--swagger-ui-enabled`](../cli/options.md#swagger-ui-enabled) to `true`. -### Example: Get public keys +Access Swagger UI at `http::/swagger-ui` where: -```bash -curl -X GET http://localhost:9000/api/v1/eth2/publicKeys -``` +- `interface` is specified using [`--http-listen-host`](../cli/options.md#http-listen-host). +- `port` is specified using [`http-listen-port`](../cli/options.md#http-listen-port). -### Example: Sign a message +The default location is `http://localhost:9000/swagger-ui`. -```bash -curl -X POST http://localhost:9000/api/v1/eth2/sign/{identifier} \ - -H "Content-Type: application/json" \ - -d '{ - "type": "ATTESTATION", - "fork_info": {...}, - "attestation": {...} - }' -``` +You can also use tools such as [Postman] or [curl] to interact with Web3Signer APIs. +[REST API documentation]: https://consensys.github.io/web3signer/ [Postman]: https://www.postman.com/ [curl]: https://curl.haxx.se/ +[Swagger UI]: https://swagger.io/tools/swagger-ui/ diff --git a/docusaurus.config.js b/docusaurus.config.js index 36d8c675..10349d7d 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -4,25 +4,17 @@ const darkCodeTheme = require("prism-react-renderer").themes.dracula; const isDev = process.env.NODE_ENV === "development"; const baseUrl = isDev ? "/" : "/"; -// OpenAPI plugin configuration +// OpenAPI plugin configuration (generated docs live under docs/reference/api/**) const openApiConfig = { eth2Api: { specPath: "src/openapi-specs/eth2-bundled.yaml", outputDir: "docs/reference/api/eth2", - sidebarOptions: { - groupPathsBy: "tag", - categoryLinkSource: "tag", - }, hideSendButton: true, showSchemas: false, }, eth1Api: { specPath: "src/openapi-specs/eth1-bundled.yaml", outputDir: "docs/reference/api/eth1", - sidebarOptions: { - groupPathsBy: "tag", - categoryLinkSource: "tag", - }, hideSendButton: true, showSchemas: false, }, @@ -70,6 +62,7 @@ const config = { path: "docs", routeBasePath: "/", breadcrumbs: false, + // Render OpenAPI pages with the right-panel explorer UI docItemComponent: "@theme/ApiItem", // @ts-ignore // eslint-disable-next-line global-require @@ -79,6 +72,7 @@ const config = { "**/_*/**", "**/*.test.{js,jsx,ts,tsx}", "**/__tests__/**", + '**/*.info.mdx', ], showLastUpdateAuthor: true, showLastUpdateTime: true, @@ -313,14 +307,6 @@ const config = { from: "/reference/api/filecoin", to: "/reference/api", }, - { - from: "/reference/api/eth2/web-3-signer-eth-2-api", - to: "/development/reference/api/eth2", - }, - { - from: "/reference/api/eth1/web-3-signer-eth-1-api", - to: "/development/reference/api/eth1", - }, { from: "/HowTo/Get-Started/Build-From-Source", to: "/get-started/build-from-source", diff --git a/package-lock.json b/package-lock.json index b5ce857b..871e4bbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,6 +29,7 @@ "@docusaurus/module-type-aliases": "^3.9.2", "@docusaurus/tsconfig": "^3.9.2", "@docusaurus/types": "^3.9.2", + "@redocly/cli": "2.12.6", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^10.0.4", "@semantic-release/git": "^10.0.1", @@ -4781,6 +4782,30 @@ "tslib": "^2.4.0" } }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -4924,11 +4949,15 @@ "license": "MIT" }, "node_modules/@faker-js/faker": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", - "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==", - "deprecated": "Please update to a newer version.", - "license": "MIT" + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.6.0.tgz", + "integrity": "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } }, "node_modules/@fastify/busboy": { "version": "2.1.1", @@ -5018,6 +5047,16 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@humanwhocodes/momoa": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", + "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.10.0" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", @@ -5026,6 +5065,76 @@ "dev": true, "peer": true }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "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==", + "dev": true, + "license": "ISC", + "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/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -5302,6 +5411,19 @@ "@tybys/wasm-util": "^0.9.0" } }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@node-rs/jieba": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.10.3.tgz", @@ -5788,6 +5910,205 @@ "node": ">=8.0.0" } }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz", + "integrity": "sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.3.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.0.1.tgz", + "integrity": "sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.0.1.tgz", + "integrity": "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-http": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.202.0.tgz", + "integrity": "sha512-/hKE8DaFCJuaQqE1IxpgkcjOolUIwgi3TgHElPVKGdGRBSmJMTmN/cr6vWa55pCJIXPyhKvcMrbrya7DZ3VmzA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-exporter-base": "0.202.0", + "@opentelemetry/otlp-transformer": "0.202.0", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.202.0.tgz", + "integrity": "sha512-nMEOzel+pUFYuBJg2znGmHJWbmvMbdX5/RhoKNKowguMbURhz0fwik5tUKplLcUtl8wKPL1y9zPnPxeBn65N0Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-transformer": "0.202.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/otlp-transformer": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.202.0.tgz", + "integrity": "sha512-5XO77QFzs9WkexvJQL9ksxL8oVFb/dfi9NWQSq7Sv0Efr9x3N+nb1iklP1TeVgxqJ7m1xWiC/Uv3wupiQGevMw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-logs": "0.202.0", + "@opentelemetry/sdk-metrics": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1", + "protobufjs": "^7.3.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.0.1.tgz", + "integrity": "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-logs": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.202.0.tgz", + "integrity": "sha512-pv8QiQLQzk4X909YKm0lnW4hpuQg4zHwJ4XBd5bZiXcd9urvrJNoNVKnxGHPiDVX/GiLFvr5DMYsDBQbZCypRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.4.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.0.1.tgz", + "integrity": "sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.9.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.0.1.tgz", + "integrity": "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.0.1.tgz", + "integrity": "sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/context-async-hooks": "2.0.1", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.34.0.tgz", + "integrity": "sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, "node_modules/@parcel/watcher": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", @@ -6127,6 +6448,80 @@ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "license": "MIT" }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@redocly/ajv": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.1.tgz", @@ -6143,49 +6538,269 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@redocly/config": { - "version": "0.22.2", - "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", - "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", + "node_modules/@redocly/cli": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-2.12.6.tgz", + "integrity": "sha512-GAg0JzSxK5ZXAHQAAGNwXpDCl82VuJssV+kN0PFVb4IzZDq4tXtkZeS7v8YrD7h7sP2TzMEpxxQWumRAFVb3Lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@opentelemetry/exporter-trace-otlp-http": "0.202.0", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-trace-node": "2.0.1", + "@opentelemetry/semantic-conventions": "1.34.0", + "@redocly/openapi-core": "2.12.6", + "@redocly/respect-core": "2.12.6", + "abort-controller": "^3.0.0", + "chokidar": "^3.5.1", + "colorette": "^1.2.0", + "cookie": "^0.7.2", + "dotenv": "16.4.7", + "form-data": "^4.0.4", + "glob": "^11.0.1", + "handlebars": "^4.7.6", + "https-proxy-agent": "^7.0.5", + "mobx": "^6.0.4", + "pluralize": "^8.0.0", + "react": "^17.0.0 || ^18.2.0 || ^19.2.1", + "react-dom": "^17.0.0 || ^18.2.0 || ^19.2.1", + "redoc": "2.5.1", + "semver": "^7.5.2", + "set-cookie-parser": "^2.3.5", + "simple-websocket": "^9.0.0", + "styled-components": "^6.0.7", + "ulid": "^3.0.1", + "undici": "^6.21.3", + "yargs": "17.0.1" + }, + "bin": { + "openapi": "bin/cli.js", + "redocly": "bin/cli.js" + }, + "engines": { + "node": ">=22.12.0 || >=20.19.0 <21.0.0", + "npm": ">=10" + } + }, + "node_modules/@redocly/cli/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==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@redocly/cli/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@redocly/cli/node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@redocly/cli/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, "license": "MIT" }, + "node_modules/@redocly/cli/node_modules/glob": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@redocly/cli/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@redocly/cli/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, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@redocly/cli/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, + "license": "MIT", + "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/@redocly/cli/node_modules/yargs": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", + "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", + "dev": true, + "license": "MIT", + "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": ">=12" + } + }, + "node_modules/@redocly/config": { + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.41.0.tgz", + "integrity": "sha512-8yJ2e+ex8KVF25zijdpDbAEjyubk7NLfHsLI8h0MUnLEo2iEg6rTCDT9Qw71XDqd5UlXvfJb0Z0h6dd+Y6pWLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-schema-to-ts": "2.7.2" + } + }, "node_modules/@redocly/openapi-core": { - "version": "1.34.6", - "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz", - "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==", + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-2.12.6.tgz", + "integrity": "sha512-X4NK5wW0lr1Cdd5CB/St6hABU7OLw3kaI9gxVODENuxcMCIWa27v8AZwUJom5arp3f9kY0KJwNNqBghrWDQC+Q==", + "dev": true, "license": "MIT", "dependencies": { - "@redocly/ajv": "^8.11.2", - "@redocly/config": "^0.22.0", + "@redocly/ajv": "^8.17.1", + "@redocly/config": "^0.41.0", + "ajv-formats": "^3.0.1", "colorette": "^1.2.0", - "https-proxy-agent": "^7.0.5", "js-levenshtein": "^1.1.6", "js-yaml": "^4.1.0", - "minimatch": "^5.0.1", + "picomatch": "^4.0.3", "pluralize": "^8.0.0", "yaml-ast-parser": "0.0.43" }, "engines": { - "node": ">=18.17.0", - "npm": ">=9.5.0" + "node": ">=22.12.0 || >=20.19.0 <21.0.0", + "npm": ">=10" + } + }, + "node_modules/@redocly/openapi-core/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, "node_modules/@redocly/openapi-core/node_modules/colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true, "license": "MIT" }, - "node_modules/@redocly/openapi-core/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", + "node_modules/@redocly/openapi-core/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@redocly/respect-core": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/@redocly/respect-core/-/respect-core-2.12.6.tgz", + "integrity": "sha512-F9Zla4M9wGZGfgavWddC4AObHkfPzsTCNAmyBOAj/ub8ycjfI719MqnEZvurIMYxmVDoTv4maHnuich5IGVzlg==", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@faker-js/faker": "^7.6.0", + "@noble/hashes": "^1.8.0", + "@redocly/ajv": "8.17.1", + "@redocly/openapi-core": "2.12.6", + "better-ajv-errors": "^1.2.0", + "colorette": "^2.0.20", + "json-pointer": "^0.6.2", + "jsonpath-rfc9535": "1.3.0", + "openapi-sampler": "^1.6.1", + "outdent": "^0.8.0" }, "engines": { - "node": ">=10" + "node": ">=22.12.0 || >=20.19.0 <21.0.0", + "npm": ">=10" } }, "node_modules/@sec-ant/readable-stream": { @@ -7550,6 +8165,21 @@ "@types/node": "*" } }, + "node_modules/@types/stylis": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -7954,6 +8584,19 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "license": "Apache-2.0" }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -8361,6 +9004,13 @@ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "license": "MIT" }, + "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, + "license": "MIT" + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -8535,6 +9185,26 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/better-ajv-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", + "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@humanwhocodes/momoa": "^2.0.2", + "chalk": "^4.1.2", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0 < 4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -8920,6 +9590,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -9120,6 +9800,13 @@ "node": ">=8" } }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "dev": true, + "license": "MIT" + }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -9479,6 +10166,19 @@ "node": ">=10" } }, + "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, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/comlink": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.2.tgz", @@ -10126,6 +10826,16 @@ "node": ">=4" } }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz", @@ -10326,6 +11036,18 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "node_modules/css-tree": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", @@ -10640,6 +11362,12 @@ } } }, + "node_modules/decko": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz", + "integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==", + "dev": true + }, "node_modules/decode-named-character-reference": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", @@ -10801,6 +11529,16 @@ "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, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -10983,6 +11721,33 @@ "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/@redocly/config": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", + "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", + "license": "MIT" + }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/@redocly/openapi-core": { + "version": "1.34.6", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz", + "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==", + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.22.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, "node_modules/docusaurus-plugin-openapi-docs/node_modules/clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -10992,6 +11757,12 @@ "node": ">=6" } }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, "node_modules/docusaurus-plugin-openapi-docs/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -11007,6 +11778,18 @@ "node": ">=10" } }, + "node_modules/docusaurus-plugin-openapi-docs/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/docusaurus-plugin-sass": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz", @@ -12208,6 +12991,16 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "dev": true, + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/domutils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", @@ -12243,6 +13036,19 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -12600,6 +13406,22 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es6-promise": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", @@ -13042,6 +13864,16 @@ "node": ">= 0.8" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -13303,6 +14135,25 @@ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" }, + "node_modules/fast-xml-parser": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", + "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.1.1" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -13665,6 +14516,53 @@ "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", "license": "MIT" }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/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==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/form-data-encoder": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", @@ -14278,6 +15176,22 @@ "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-yarn": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", @@ -15671,6 +16585,22 @@ "node": "^18.17 || >=20.6.1" } }, + "node_modules/jackspeak": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", @@ -15848,6 +16778,21 @@ "node": ">=12.0.0" } }, + "node_modules/json-schema-to-ts": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-2.7.2.tgz", + "integrity": "sha512-R1JfqKqbBR4qE8UyBR56Ms30LL62/nlhoz+1UkfI/VE7p54Awu919FZ6ZUPG8zIa3XB65usPJgr1ONVncUGSaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@types/json-schema": "^7.0.9", + "ts-algebra": "^1.2.0" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -15891,6 +16836,26 @@ "node >= 0.2.0" ] }, + "node_modules/jsonpath-rfc9535": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsonpath-rfc9535/-/jsonpath-rfc9535-1.3.0.tgz", + "integrity": "sha512-3jFHya7oZ45aDxIIdx+/zQARahHXxFSMWBkcBUldfXpLS9VCXDJyTKt35kQfEXLqh0K3Ixw/9xFnvcDStaxh7Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -16235,6 +17200,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/longest": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", @@ -18758,6 +19730,79 @@ "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==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mobx": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.15.0.tgz", + "integrity": "sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + } + }, + "node_modules/mobx-react": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.0.tgz", + "integrity": "sha512-dkGWCx+S0/1mfiuFfHRH8D9cplmwhxOV5CkXMp38u6rQGG2Pv3FWYztS0M7ncR6TyPRQKaTG/pnitInoYE9Vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mobx-react-lite": "^4.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.9.0", + "react": "^16.8.0 || ^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/mobx-react-lite": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.1.tgz", + "integrity": "sha512-iUxiMpsvNraCKXU+yPotsOncNNmyeS2B5DKL+TL6Tar/xm+wwNJAubJmtRSeAoYawdZqwv8Z/+5nPRHeQxTiXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.9.0", + "react": "^16.8.0 || ^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -22008,6 +23053,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openapi-sampler": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.2.tgz", + "integrity": "sha512-NyKGiFKfSWAZr4srD/5WDhInOWDhfml32h/FKUqLpEwKJt0kG0LGUU0MdyNkKrVGuJnw6DuPWq/sHCwAMpiRxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.7", + "fast-xml-parser": "^4.5.0", + "json-pointer": "0.6.2" + } + }, "node_modules/openapi-to-postmanv2": { "version": "4.25.0", "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-4.25.0.tgz", @@ -22120,6 +23177,13 @@ "node": ">=0.10.0" } }, + "node_modules/outdent": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==", + "dev": true, + "license": "MIT" + }, "node_modules/p-cancelable": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", @@ -22317,6 +23381,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", @@ -22508,6 +23579,33 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -22525,6 +23623,13 @@ "node": ">=8" } }, + "node_modules/perfect-scrollbar": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.6.tgz", + "integrity": "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==", + "dev": true, + "license": "MIT" + }, "node_modules/periscopic": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", @@ -22747,6 +23852,19 @@ "node": ">=4" } }, + "node_modules/polished": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -24284,6 +25402,13 @@ "node": ">=10" } }, + "node_modules/postman-collection/node_modules/@faker-js/faker": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", + "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==", + "deprecated": "Please update to a newer version.", + "license": "MIT" + }, "node_modules/postman-collection/node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -24446,6 +25571,31 @@ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" }, + "node_modules/protobufjs": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "dev": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", + "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/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -24603,24 +25753,24 @@ } }, "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^19.2.3" } }, "node_modules/react-fast-compare": { @@ -25468,6 +26618,20 @@ "react": ">=15" } }, + "node_modules/react-tabs": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz", + "integrity": "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "clsx": "^2.0.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0" + } + }, "node_modules/read-package-up": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", @@ -25592,6 +26756,126 @@ "node": ">= 0.10" } }, + "node_modules/redoc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.5.1.tgz", + "integrity": "sha512-LmqA+4A3CmhTllGG197F0arUpmChukAj9klfSdxNRemT9Hr07xXr7OGKu4PHzBs359sgrJ+4JwmOlM7nxLPGMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/openapi-core": "^1.4.0", + "classnames": "^2.3.2", + "decko": "^1.2.0", + "dompurify": "^3.2.4", + "eventemitter3": "^5.0.1", + "json-pointer": "^0.6.2", + "lunr": "^2.3.9", + "mark.js": "^8.11.1", + "marked": "^4.3.0", + "mobx-react": "9.2.0", + "openapi-sampler": "^1.5.0", + "path-browserify": "^1.0.1", + "perfect-scrollbar": "^1.5.5", + "polished": "^4.2.2", + "prismjs": "^1.29.0", + "prop-types": "^15.8.1", + "react-tabs": "^6.0.2", + "slugify": "~1.4.7", + "stickyfill": "^1.1.1", + "swagger2openapi": "^7.0.8", + "url-template": "^2.0.8" + }, + "engines": { + "node": ">=6.9", + "npm": ">=3.0.0" + }, + "peerDependencies": { + "core-js": "^3.1.4", + "mobx": "^6.0.4", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" + } + }, + "node_modules/redoc/node_modules/@redocly/config": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", + "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/redoc/node_modules/@redocly/openapi-core": { + "version": "1.34.6", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz", + "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.22.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, + "node_modules/redoc/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/redoc/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/redoc/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, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/redoc/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, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/redoc/node_modules/slugify": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", + "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", @@ -30087,6 +31371,13 @@ "node": ">= 0.8.0" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "dev": true, + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -30403,6 +31694,49 @@ "node": ">=4" } }, + "node_modules/simple-websocket": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz", + "integrity": "sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "debug": "^4.3.1", + "queue-microtask": "^1.2.2", + "randombytes": "^2.1.0", + "readable-stream": "^3.6.0", + "ws": "^7.4.2" + } + }, + "node_modules/simple-websocket/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/sirv": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", @@ -30694,6 +32028,12 @@ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "license": "MIT" }, + "node_modules/stickyfill": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", + "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==", + "dev": true + }, "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -30729,6 +32069,29 @@ "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==", + "dev": true, + "license": "MIT", + "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/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, + "license": "MIT" + }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", @@ -30803,6 +32166,20 @@ "node": ">=8" } }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -30839,6 +32216,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/style-to-object": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", @@ -30847,6 +32237,71 @@ "inline-style-parser": "0.1.1" } }, + "node_modules/styled-components": { + "version": "6.1.19", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.19.tgz", + "integrity": "sha512-1v/e3Dl1BknC37cXMhwGomhO8AkYmN41CqyX9xhUDxry1ns3BFQy2lLDRQXJRdVVWB9OHemv/53xaStimvWyuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.49", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/styled-components/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "license": "0BSD" + }, "node_modules/stylehacks": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", @@ -31122,6 +32577,13 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==", + "dev": true, + "license": "MIT" + }, "node_modules/sucrase": { "version": "3.35.1", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", @@ -31745,6 +33207,13 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-algebra": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-1.2.2.tgz", + "integrity": "sha512-kloPhf1hq3JbCPOTYoOWDKxebWjNb2o/LKnNfkWhxVVisFFmMJPPdJeGoGmM+iRLyoXAR61e08Pb+vUXINg8aA==", + "dev": true, + "license": "MIT" + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -31905,10 +33374,20 @@ "node": ">=0.8.0" } }, + "node_modules/ulid": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.2.tgz", + "integrity": "sha512-yu26mwteFYzBAot7KVMqFGCVpsF6g8wXfJzQUHvu1no3+rRRSFcSV2nKeYvNPLD2J4b08jYBDhHUjeH0ygIl9w==", + "dev": true, + "license": "MIT", + "bin": { + "ulid": "dist/cli.js" + } + }, "node_modules/undici": { - "version": "6.21.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.1.tgz", - "integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==", + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", + "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==", "license": "MIT", "engines": { "node": ">=18.17" @@ -32363,6 +33842,13 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==", + "dev": true, + "license": "BSD" + }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -33113,6 +34599,47 @@ "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==", + "dev": true, + "license": "MIT", + "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/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, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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/node_modules/ansi-regex": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", diff --git a/package.json b/package.json index 2924f446..38e4cd4d 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "lint:js": "eslint . --ext js,jsx,ts,tsx --max-warnings=0", "lint:style": "stylelint \"**/*.css\"", "lint:fix": "npm run lint:js -- --fix", - "gen-api-docs": "docusaurus gen-api-docs all && rm -f docs/reference/api/eth1/*.info.mdx docs/reference/api/eth2/*.info.mdx", + "gen-api-docs": "docusaurus gen-api-docs all", "clean-api-docs": "docusaurus clean-api-docs all" }, "lint-staged": { @@ -58,6 +58,7 @@ "@typescript-eslint/parser": "^6.13.1", "commitizen": "^4.3.1", "cz-conventional-changelog": "^3.3.0", + "@redocly/cli": "2.12.6", "semantic-release": "^25.0.0", "stylelint": "^16.13.0 ", "stylelint-config-standard": "^39.0.0", diff --git a/src/openapi-specs/README.md b/src/openapi-specs/README.md index 3b245775..26e2debd 100644 --- a/src/openapi-specs/README.md +++ b/src/openapi-specs/README.md @@ -1,4 +1,4 @@ -# OpenAPI Specifications +# OpenAPI specifications This directory contains OpenAPI specifications synced from the [Web3Signer repository](https://github.com/Consensys/web3signer). @@ -18,14 +18,21 @@ These files are automatically synced from the Web3Signer repository via the `syn To manually sync: 1. Run the workflow from the Actions tab, or -2. Run locally: +2. Run locally (fetch + normalize + bundle + regenerate): + ```bash - npm run gen-api-docs + # From the repo root + cd doc.web3signer + + # One-shot manual sync (fetches from upstream, normalizes servers, bundles, cleans, regenerates) + node src/scripts/manual_sync_openapi.cjs ``` -## Generated Documentation +> Note: `src/openapi-specs/**` is intentionally ignored by git (build-time input only). The committed output is `docs/reference/api/**`. + +## Generated documentation The generated API documentation is output to: + - `docs/reference/api/eth2/` - Consensus layer API docs - `docs/reference/api/eth1/` - Execution layer API docs - diff --git a/src/scripts/manual_sync_openapi.cjs b/src/scripts/manual_sync_openapi.cjs new file mode 100644 index 00000000..65014adb --- /dev/null +++ b/src/scripts/manual_sync_openapi.cjs @@ -0,0 +1,108 @@ +/** + * Manual OpenAPI sync script (Option A: specs are build-time only; generated docs are committed). + * + * Fix #1 applied: upstream branch is `master` (not `main`). + * + * What it does: + * - Sparse clones the upstream repo and checks out only `openapi-specs/` + * - Copies `openapi-specs/eth1` + `openapi-specs/eth2` into `src/openapi-specs/` + * - Normalizes `servers:` (node scripts/normalize_openapi_servers.cjs) + * - Bundles both specs using pinned Redocly CLI + * - Cleans and regenerates API docs under `docs/reference/api/**` + */ + +const fs = require("node:fs"); +const path = require("node:path"); +const os = require("node:os"); +const { execSync } = require("node:child_process"); + +function sh(cmd, opts = {}) { + return execSync(cmd, { stdio: "inherit", ...opts }); +} + +function rmrf(p) { + fs.rmSync(p, { recursive: true, force: true }); +} + +function ensureDir(p) { + fs.mkdirSync(p, { recursive: true }); +} + +// scripts live under `src/scripts/` → repo root is two levels up +const repoRoot = path.resolve(__dirname, "../.."); + +// Adjust these constants if folder structure changes in the future. +const CONFIG = { + upstreamRepo: "https://github.com/Consensys/web3signer.git", + upstreamRef: "master", + upstreamDir: "openapi-specs", + eth1Dir: "eth1", + eth2Dir: "eth2", + specFile: "web3signer.yaml", + targetRoot: "src/openapi-specs", + redoclyVersion: "2.12.6", +}; + +const targetRootAbs = path.join(repoRoot, CONFIG.targetRoot); +const targetEth1Abs = path.join(targetRootAbs, CONFIG.eth1Dir); +const targetEth2Abs = path.join(targetRootAbs, CONFIG.eth2Dir); + +const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "doc-web3signer-openapi-")); +const tmpRepoDir = path.join(tmpDir, "web3signer"); + +try { + console.log(`Using upstream: ${CONFIG.upstreamRepo}@${CONFIG.upstreamRef}`); + console.log(`Temporary clone dir: ${tmpRepoDir}`); + + sh( + `git clone --depth 1 --filter=blob:none --sparse --branch ${CONFIG.upstreamRef} ${CONFIG.upstreamRepo} ${tmpRepoDir}` + ); + sh(`git -C ${tmpRepoDir} sparse-checkout set ${CONFIG.upstreamDir}`); + + ensureDir(targetRootAbs); + rmrf(targetEth1Abs); + rmrf(targetEth2Abs); + + const srcEth1 = path.join(tmpRepoDir, CONFIG.upstreamDir, CONFIG.eth1Dir); + const srcEth2 = path.join(tmpRepoDir, CONFIG.upstreamDir, CONFIG.eth2Dir); + + if (!fs.existsSync(srcEth1) || !fs.existsSync(srcEth2)) { + throw new Error( + `Upstream directories not found. Expected:\n- ${srcEth1}\n- ${srcEth2}` + ); + } + + sh(`cp -R ${srcEth1} ${targetRootAbs}/`); + sh(`cp -R ${srcEth2} ${targetRootAbs}/`); + + // Normalize servers + sh( + `node ${path.join(repoRoot, "src", "scripts", "normalize_openapi_servers.cjs")}` + ); + + // Bundle with pinned Redocly + const eth1SpecAbs = path.join(targetEth1Abs, CONFIG.specFile); + const eth2SpecAbs = path.join(targetEth2Abs, CONFIG.specFile); + const eth1BundledAbs = path.join(targetRootAbs, `${CONFIG.eth1Dir}-bundled.yaml`); + const eth2BundledAbs = path.join(targetRootAbs, `${CONFIG.eth2Dir}-bundled.yaml`); + + sh( + `npx --yes @redocly/cli@${CONFIG.redoclyVersion} bundle ${eth2SpecAbs} -o ${eth2BundledAbs}`, + { cwd: repoRoot } + ); + sh( + `npx --yes @redocly/cli@${CONFIG.redoclyVersion} bundle ${eth1SpecAbs} -o ${eth1BundledAbs}`, + { cwd: repoRoot } + ); + + // Regenerate docs output + sh(`npm run clean-api-docs`, { cwd: repoRoot }); + sh(`npm run gen-api-docs`, { cwd: repoRoot }); + + console.log("Manual OpenAPI sync complete."); + console.log("Reminder: commit changes under docs/reference/api/** (Option A)."); +} finally { + rmrf(tmpDir); +} + + diff --git a/scripts/normalize_openapi_servers.cjs b/src/scripts/normalize_openapi_servers.cjs similarity index 72% rename from scripts/normalize_openapi_servers.cjs rename to src/scripts/normalize_openapi_servers.cjs index fd59ce6c..34f9adfb 100644 --- a/scripts/normalize_openapi_servers.cjs +++ b/src/scripts/normalize_openapi_servers.cjs @@ -1,12 +1,10 @@ /** * Normalize OpenAPI `servers` values for this documentation site. * - * Why: - * - Upstream specs often include `url: /` and/or `url: http://localhost:9000/`. - * - The docs theme can display `//path` when a base URL ends with `/` and the path begins with `/`. + * Upstream specs often include `url: /` and/or `url: http://localhost:9000/`. + * Those can lead to `//path` being displayed when concatenated with operation paths. * - * What this script does: - * - Replaces the entire `servers:` block with: + * This script rewrites the `servers:` block to: * - url: "" * - url: http://localhost:9000 * @@ -18,17 +16,19 @@ const fs = require("node:fs"); const path = require("node:path"); -const repoRoot = path.resolve(__dirname, ".."); +// scripts live under `src/scripts/` → repo root is two levels up +const repoRoot = path.resolve(__dirname, "../.."); + const targets = [ path.join(repoRoot, "src", "openapi-specs", "eth1", "web3signer.yaml"), path.join(repoRoot, "src", "openapi-specs", "eth2", "web3signer.yaml"), ]; const normalizedBlock = [ - 'servers:', + "servers:", ' - url: ""', - ' - url: http://localhost:9000', - '', + " - url: http://localhost:9000", + "", ].join("\n"); const serversRe = /^servers:\n(?:^[ \t].*\n)*/m; @@ -49,10 +49,12 @@ function normalizeServers(text) { } let changed = 0; +let failed = false; + for (const filePath of targets) { if (!fs.existsSync(filePath)) { console.error(`normalize_openapi_servers: missing file: ${filePath}`); - process.exitCode = 2; + failed = true; continue; } const before = fs.readFileSync(filePath, "utf8"); @@ -66,10 +68,7 @@ for (const filePath of targets) { } } -if (process.exitCode && process.exitCode !== 0) { - // keep exitCode -} else if (changed === 0) { - console.log("normalize_openapi_servers: no changes needed"); -} +if (failed) process.exit(2); +if (changed === 0) console.log("normalize_openapi_servers: no changes needed"); diff --git a/src/src/openapi-specs/eth1-bundled.yaml b/src/src/openapi-specs/eth1-bundled.yaml new file mode 100644 index 00000000..d761933f --- /dev/null +++ b/src/src/openapi-specs/eth1-bundled.yaml @@ -0,0 +1,149 @@ +openapi: 3.0.0 +info: + title: Web3Signer ETH1 API + description: Sign ETH1 Artifacts + version: 1.1.0 + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html +servers: + - url: '' + - url: http://localhost:9000 +externalDocs: + description: Web3Signer User Documentation + url: https://docs.web3signer.consensys.net/ +paths: + /api/v1/eth1/sign/{identifier}: + post: + tags: + - Signing + summary: Signs data for ETH1 SECP256K1 public key + description: Signs data for the ETH1 SECP256K1 public key specified as part of the URL and returns the signature + operationId: ETH1_SIGN + parameters: + - name: identifier + in: path + required: true + description: Key for which data to sign + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + data: + type: string + required: + - data + additionalProperties: + type: string + example: + data: 5.735816763073855e+30 + responses: + '200': + description: hex encoded string of signature + content: + text/plain; charset=utf-8: + schema: + type: string + example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' + '400': + description: Bad request format + '404': + description: Public Key not found + '500': + description: Internal Web3Signer server error + /api/v1/eth1/publicKeys: + get: + tags: + - Public Key + summary: List of available ETH1 SECP256K1 Public Keys + description: Returns the ETH1 SECP256K1 public keys for the private keys that have been loaded into Web3Signer + operationId: ETH1_LIST + responses: + '200': + description: list of public keys + content: + application/json: + schema: + type: array + items: + type: string + '400': + description: Bad request format + '500': + description: Internal Web3Signer server error + /reload: + post: + tags: + - Reload Signer Keys + summary: Reload signer keys asynchronously + description: Reload signer keys asynchronously + operationId: RELOAD + responses: + '200': + description: Call is successful + '500': + description: Internal Web3Signer server error + /upcheck: + get: + tags: + - Server Status + summary: Server Status + description: Web3Signer server status + operationId: UPCHECK + responses: + '200': + description: OK + content: + text/plain; charset=utf-8: + schema: + type: string + example: OK + '500': + description: Internal Web3Signer server error + /healthcheck: + get: + tags: + - Server Health Status + summary: Server Health Status + description: Web3Signer server health status + operationId: HEALTHCHECK + responses: + '200': + description: System is healthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthCheck' + '503': + description: At least one procedure is unhealthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthCheck' +components: + schemas: + HealthCheck: + type: object + properties: + status: + type: string + description: health status + checks: + type: array + description: list of status checks + items: + properties: + id: + type: string + description: status id + status: + type: string + description: health status + outcome: + type: string + description: the overall outcome of health check diff --git a/src/src/openapi-specs/eth1/web3signer.yaml b/src/src/openapi-specs/eth1/web3signer.yaml new file mode 100644 index 00000000..a18d090a --- /dev/null +++ b/src/src/openapi-specs/eth1/web3signer.yaml @@ -0,0 +1,158 @@ +openapi: 3.0.0 +info: + title: 'Web3Signer ETH1 API' + description: 'Sign ETH1 Artifacts' + version: '1.1.0' + license: + name: 'Apache 2.0' + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' + +servers: + - url: "" + - url: http://localhost:9000 + +paths: + /api/v1/eth1/sign/{identifier}: + post: + tags: + - 'Signing' + summary: 'Signs data for ETH1 SECP256K1 public key' + description: 'Signs data for the ETH1 SECP256K1 public key specified as part of the URL and returns the signature' + operationId: 'ETH1_SIGN' + parameters: + - name: 'identifier' + in: 'path' + required: true + description: 'Key for which data to sign' + schema: + type: 'string' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + data: + type: string + required: + - data + additionalProperties: + type: string + example: + data: 0x48656c6c6f2c20776f726c6421 + + responses: + '200': + description: 'hex encoded string of signature' + content: + text/plain; charset=utf-8: + schema: + type: string + example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' + '404': + description: 'Public Key not found' + '400': + description: 'Bad request format' + '500': + description: 'Internal Web3Signer server error' + + /api/v1/eth1/publicKeys: + get: + tags: + - 'Public Key' + summary: 'List of available ETH1 SECP256K1 Public Keys' + description: 'Returns the ETH1 SECP256K1 public keys for the private keys that have been loaded into Web3Signer' + operationId: 'ETH1_LIST' + responses: + '200': + description: 'list of public keys' + content: + application/json: + schema: + type: array + items: + type: string + '400': + description: 'Bad request format' + '500': + description: 'Internal Web3Signer server error' + + /reload: + post: + tags: + - 'Reload Signer Keys' + summary: 'Reload signer keys asynchronously' + description: 'Reload signer keys asynchronously' + operationId: 'RELOAD' + responses: + '200': + description: 'Call is successful' + '500': + description: 'Internal Web3Signer server error' + + /upcheck: + get: + tags: + - 'Server Status' + summary: 'Server Status' + description: 'Web3Signer server status' + operationId: 'UPCHECK' + responses: + '200': + description: 'OK' + content: + text/plain; charset=utf-8: + schema: + type: string + example: 'OK' + '500': + description: 'Internal Web3Signer server error' + + /healthcheck: + get: + tags: + - 'Server Health Status' + summary: 'Server Health Status' + description: 'Web3Signer server health status' + operationId: 'HEALTHCHECK' + responses: + '200': + description: 'System is healthy' + content: + application/json: + schema: + "$ref": "#/components/schemas/HealthCheck" + '503': + description: 'At least one procedure is unhealthy' + content: + application/json: + schema: + "$ref": "#/components/schemas/HealthCheck" + +components: + schemas: + HealthCheck: + type: object + properties: + status: + type: string + description: 'health status' + checks: + type: array + description: 'list of status checks' + items: + properties: + id: + type: string + description: 'status id' + status: + type: string + description: 'health status' + outcome: + type: string + description: 'the overall outcome of health check' + +externalDocs: + description: 'Web3Signer User Documentation' + url: 'https://docs.web3signer.consensys.net/' diff --git a/src/src/openapi-specs/eth2-bundled.yaml b/src/src/openapi-specs/eth2-bundled.yaml new file mode 100644 index 00000000..3af80f14 --- /dev/null +++ b/src/src/openapi-specs/eth2-bundled.yaml @@ -0,0 +1,2151 @@ +openapi: 3.0.3 +info: + title: Web3Signer ETH2 Api + description: Sign Eth2 Artifacts + version: 2.0.0 + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html +servers: + - url: '' + - url: http://localhost:9000 +externalDocs: + description: Web3Signer User Documentation + url: https://docs.web3signer.consensys.net/ +paths: + /api/v1/eth2/sign/{identifier}: + post: + tags: + - Signing + summary: Signs data for BLS public key + description: Signs data for the BLS public key specified as part of the URL and returns the signature + operationId: SIGN + parameters: + - name: identifier + in: path + required: true + description: BLS public key in hex format for which data to sign + schema: + type: string + example: '0x989d34725a2bfc3f15105f3f5fc8741f436c25ee1ee4f948e425d6bcb8c56bce6e06c269635b7e985a7ffa639e2409bf' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AggregationSlotSigning' + - $ref: '#/components/schemas/AggregateAndProofSigning' + - $ref: '#/components/schemas/AggregateAndProofSigningV2' + - $ref: '#/components/schemas/AttestationSigning' + - $ref: '#/components/schemas/BlockSigning' + - $ref: '#/components/schemas/BeaconBlockSigning' + - $ref: '#/components/schemas/DepositSigning' + - $ref: '#/components/schemas/RandaoRevealSigning' + - $ref: '#/components/schemas/VoluntaryExitSigning' + - $ref: '#/components/schemas/SyncCommitteeMessageSigning' + - $ref: '#/components/schemas/SyncCommitteeSelectionProofSigning' + - $ref: '#/components/schemas/SyncCommitteeContributionAndProofSigning' + - $ref: '#/components/schemas/ValidatorRegistrationSigning' + discriminator: + propertyName: type + mapping: + AGGREGATION_SLOT: '#/components/schemas/AggregationSlotSigning' + AGGREGATE_AND_PROOF: '#/components/schemas/AggregateAndProofSigning' + AGGREGATE_AND_PROOF_V2: '#/components/schemas/AggregateAndProofSigningV2' + ATTESTATION: '#/components/schemas/AttestationSigning' + BLOCK: '#/components/schemas/BlockSigning' + BLOCK_V2: '#/components/schemas/BeaconBlockSigning' + DEPOSIT: '#/components/schemas/DepositSigning' + RANDAO_REVEAL: '#/components/schemas/RandaoRevealSigning' + VOLUNTARY_EXIT: '#/components/schemas/VoluntaryExitSigning' + SYNC_COMMITTEE_MESSAGE: '#/components/schemas/SyncCommitteeMessageSigning' + SYNC_COMMITTEE_SELECTION_PROOF: '#/components/schemas/SyncCommitteeSelectionProofSigning' + SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: '#/components/schemas/SyncCommitteeContributionAndProofSigning' + VALIDATOR_REGISTRATION: '#/components/schemas/ValidatorRegistrationSigning' + examples: + BLOCK_V2 (FULU): + value: + type: BLOCK_V2 + signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: FULU + block_header: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' + BLOCK_V2 (ELECTRA): + value: + type: BLOCK_V2 + signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: ELECTRA + block_header: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' + BLOCK_V2 (DENEB): + value: + type: BLOCK_V2 + signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: DENEB + block_header: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' + BLOCK_V2 (CAPELLA): + value: + type: BLOCK_V2 + signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: CAPELLA + block_header: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' + BLOCK_V2 (BELLATRIX): + value: + type: BLOCK_V2 + signingRoot: '0x26d0ee0b6c2261cd6010112a024de4f3d2e1e9844d11d60b057fac344c745464' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: BELLATRIX + block_header: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body_root: '0xe74b0fc13f19ae2077403afa03fdc155484f22d05d93eb084473951bb3a8d1ae' + BLOCK_V2 (ALTAIR): + value: + type: BLOCK_V2 + signingRoot: '0xcd9b9a5884d4ba2a42d19570421f0625e9841e905fcca363c371ea311dd923bc' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: ALTAIR + block: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body: + randao_reveal: '0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71' + eth1_data: + deposit_root: '0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f' + deposit_count: '4658411424342975020' + block_hash: '0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379' + graffiti: '0x0000000000000000000000000000000000000000000000000000000000000000' + proposer_slashings: + - signed_header_1: + message: + slot: '4661716390776343276' + proposer_index: '4600574485989226763' + parent_root: '0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b' + state_root: '0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb' + body_root: '0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486' + signature: '0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483' + signed_header_2: + message: + slot: '4661716390776343276' + proposer_index: '4600574485989226763' + parent_root: '0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6' + state_root: '0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26' + body_root: '0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1' + signature: '0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1' + attester_slashings: + - attestation_1: + attesting_indices: + - '4585702132744102314' + - '4590659586689121994' + - '4589007099177470570' + data: + slot: '4580744678799082634' + index: '4579092195582398506' + beacon_block_root: '0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c' + source: + epoch: '533461240' + root: '0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565' + target: + epoch: '538462976' + root: '0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650' + signature: '0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc' + attestation_2: + attesting_indices: + - '4585702132744102314' + - '4590659586689121994' + - '4589007099177470570' + data: + slot: '4620404293179370891' + index: '4618751809962686763' + beacon_block_root: '0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b' + source: + epoch: '538078227' + root: '0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb' + target: + epoch: '536923980' + root: '0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5' + signature: '0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65' + attestations: + - aggregation_bits: '0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001' + data: + slot: '4605531939934246443' + index: '4610489389584298827' + beacon_block_root: '0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b' + source: + epoch: '529421377' + root: '0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2' + target: + epoch: '529806126' + root: '0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd' + signature: '0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc' + - aggregation_bits: '0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101' + data: + slot: '4544390030852162633' + index: '4542737547635478505' + beacon_block_root: '0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd' + source: + epoch: '527690007' + root: '0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8' + target: + epoch: '528074756' + root: '0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8' + signature: '0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120' + - aggregation_bits: '0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301' + data: + slot: '4529517677607038185' + index: '4574134745932346122' + beacon_block_root: '0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947' + source: + epoch: '532884117' + root: '0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31' + target: + epoch: '531729870' + root: '0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672' + signature: '0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683' + deposits: + - proof: + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + data: + pubkey: '0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d' + withdrawal_credentials: '0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c' + amount: '32000000000' + signature: '0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb' + voluntary_exits: + - message: + epoch: '4562567354825622634' + validator_index: '4564219838042306762' + signature: '0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e' + sync_aggregate: + sync_committee_bits: '0x01000000' + sync_committee_signature: '0x919ee45cc18456f6e85da6bc21c2e40f44f9a887932c73ea9ad354f88e56d4ec0a8c396ed143082c8e31d697b877a2a215d2966d91c7beb156bf7ab5777e210012f70dcd5f7657808a82cba51e194be994f917150ebdb9e5c57476f1edb47206' + BLOCK_V2 (PHASE 0): + value: + type: BLOCK_V2 + signingRoot: '0x23181cd23aa0ce5aed8628d4efc404e173ac4b72943ddb0e60129b4884aa8a4f' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + beacon_block: + version: PHASE0 + block: + slot: '0' + proposer_index: '4666673844721362956' + parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' + state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' + body: + randao_reveal: '0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71' + eth1_data: + deposit_root: '0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f' + deposit_count: '4658411424342975020' + block_hash: '0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379' + graffiti: '0x0000000000000000000000000000000000000000000000000000000000000000' + proposer_slashings: + - signed_header_1: + message: + slot: '4661716390776343276' + proposer_index: '4600574485989226763' + parent_root: '0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b' + state_root: '0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb' + body_root: '0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486' + signature: '0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483' + signed_header_2: + message: + slot: '4661716390776343276' + proposer_index: '4600574485989226763' + parent_root: '0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6' + state_root: '0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26' + body_root: '0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1' + signature: '0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1' + attester_slashings: + - attestation_1: + attesting_indices: + - '4585702132744102314' + - '4590659586689121994' + - '4589007099177470570' + data: + slot: '4580744678799082634' + index: '4579092195582398506' + beacon_block_root: '0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c' + source: + epoch: '533461240' + root: '0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565' + target: + epoch: '538462976' + root: '0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650' + signature: '0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc' + attestation_2: + attesting_indices: + - '4585702132744102314' + - '4590659586689121994' + - '4589007099177470570' + data: + slot: '4620404293179370891' + index: '4618751809962686763' + beacon_block_root: '0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b' + source: + epoch: '538078227' + root: '0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb' + target: + epoch: '536923980' + root: '0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5' + signature: '0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65' + attestations: + - aggregation_bits: '0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001' + data: + slot: '4605531939934246443' + index: '4610489389584298827' + beacon_block_root: '0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b' + source: + epoch: '529421377' + root: '0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2' + target: + epoch: '529806126' + root: '0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd' + signature: '0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc' + - aggregation_bits: '0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101' + data: + slot: '4544390030852162633' + index: '4542737547635478505' + beacon_block_root: '0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd' + source: + epoch: '527690007' + root: '0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8' + target: + epoch: '528074756' + root: '0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8' + signature: '0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120' + - aggregation_bits: '0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301' + data: + slot: '4529517677607038185' + index: '4574134745932346122' + beacon_block_root: '0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947' + source: + epoch: '532884117' + root: '0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31' + target: + epoch: '531729870' + root: '0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672' + signature: '0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683' + deposits: + - proof: + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' + data: + pubkey: '0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d' + withdrawal_credentials: '0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c' + amount: '32000000000' + signature: '0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb' + voluntary_exits: + - message: + epoch: '4562567354825622634' + validator_index: '4564219838042306762' + signature: '0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e' + BLOCK (DEPRECATED): + value: + type: BLOCK + signingRoot: '0xf6ab1a0a4a712f544f99b53cb8c2c2625859a134fb5c9f1b2cb96e13dd88bd62' + fork_info: + fork: + previousVersion: '0x00000001' + currentVersion: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + block: + slot: '0' + proposerIndex: '5' + parentRoot: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' + stateRoot: '0x0000000000000000000000000000000000000000000000000000000000000000' + body: + randaoReveal: '0xa686652aed2617da83adebb8a0eceea24bb0d2ccec9cd691a902087f90db16aa5c7b03172a35e874e07e3b60c5b2435c0586b72b08dfe5aee0ed6e5a2922b956aa88ad0235b36dfaa4d2255dfeb7bed60578d982061a72c7549becab19b3c12f' + eth1Data: + depositRoot: '0x6a0f9d6cb0868daa22c365563bb113b05f7568ef9ee65fdfeb49a319eaf708cf' + depositCount: 8 + blockHash: '0x4242424242424242424242424242424242424242424242424242424242424242' + graffiti: '0x74656b752f76302e31322e31302d6465762d6338316361363235000000000000' + proposerSlashings: [] + attesterSlashings: [] + attestations: [] + deposits: [] + voluntaryExits: [] + ATTESTATION: + value: + type: ATTESTATION + signingRoot: '0x548c9a015f4c96cb8b1ddbbdfca85846f85bf9f344a434c140f378cdfb5341f0' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + attestation: + slot: '32' + index: '0' + beacon_block_root: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' + AGGREGATION_SLOT: + value: + type: AGGREGATION_SLOT + signingRoot: '0x1fb90dd6e8b2670e6949347bc4eaacd37f9b6cc6e42c559973e362c800e853b9' + fork_info: + fork: + previousVersion: '0x00000001' + currentVersion: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregation_slot: + slot: '119' + AGGREGATE_AND_PROOF_V2 (FULU): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: FULU + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x0000000000000000000000000000000000000000000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + committee_bits: '0x0000000000000001' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF_V2 (ELECTRA): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: ELECTRA + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x0000000000000000000000000000000000000000000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + committee_bits: '0x0000000000000001' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF_V2 (DENEB): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: DENEB + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x00000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF_V2 (CAPELLA): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: CAPELLA + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x00000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF_V2 (BELLATRIX): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: BELLATRIX + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x00000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF_V2 (ALTAIR): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: ALTAIR + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x00000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF_V2 (PHASE 0): + value: + type: AGGREGATE_AND_PROOF_V2 + signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + version: PHASE0 + data: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x00000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + AGGREGATE_AND_PROOF (DEPRECATED): + value: + type: AGGREGATE_AND_PROOF + signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregate_and_proof: + aggregator_index: '1' + aggregate: + aggregation_bits: '0x00000101' + data: + slot: '0' + index: '0' + beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + source: + epoch: '0' + root: '0x0000000000000000000000000000000000000000000000000000000000000000' + target: + epoch: '0' + root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' + signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' + selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' + RANDAO_REVEAL: + value: + type: RANDAO_REVEAL + signingRoot: '0x3d047c51a8b03630781dc4c5519c17f7de87174246ff2deed0f195c6c775f91e' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + randao_reveal: + epoch: '3' + VOLUNTARY_EXIT: + value: + type: VOLUNTARY_EXIT + signingRoot: '0x38e9f1cfe7926ce5366b633b7fc7113129025737394002d2637faaeefc56913d' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + voluntary_exit: + epoch: '119' + validator_index: '0' + SYNC_COMMITTEE_MESSAGE: + value: + type: SYNC_COMMITTEE_MESSAGE + signingRoot: '0xa6f60df2817ea5b52eed1fefebbad746ef64c6249fc05c90c9e0f520cc75bb95' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + sync_committee_message: + beacon_block_root: '0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464' + slot: '0' + SYNC_COMMITTEE_SELECTION_PROOF: + value: + type: SYNC_COMMITTEE_SELECTION_PROOF + signingRoot: '0x50d85c783ab27c1eb3f3efa914b91cb93ffd677137b15c27ba5bb548306e6963' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + sync_aggregator_selection_data: + slot: '0' + subcommittee_index: '0' + SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: + value: + type: SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF + signingRoot: '0xae94702468b584a3b1c422bc1b39cc523d9175ba3b9ac1cccb699c00507cc1a5' + fork_info: + fork: + previous_version: '0x00000001' + current_version: '0x00000001' + epoch: '1' + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + contribution_and_proof: + aggregator_index: '11' + selection_proof: '0x8f5c34de9e22ceaa7e8d165fc0553b32f02188539e89e2cc91e2eb9077645986550d872ee3403204ae5d554eae3cac12124e18d2324bccc814775316aaef352abc0450812b3ca9fde96ecafa911b3b8bfddca8db4027f08e29c22a9c370ad933' + contribution: + slot: '0' + beacon_block_root: '0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464' + subcommittee_index: '1' + aggregation_bits: '0x24' + signature: '0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71' + VALIDATOR_REGISTRATION: + value: + type: VALIDATOR_REGISTRATION + signingRoot: '0xe4d2b3dd1e23807b90af0b1768cc7de12d4353320adb486f1bdaeed6b67009ea' + validator_registration: + fee_recipient: '0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a9' + gas_limit: '4658411424342975020' + timestamp: '4663368873993027404' + pubkey: '0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057' + DEPOSIT: + value: + type: DEPOSIT + signingRoot: '0x3a49cdd70862ee95fed10e7494a8caa16af1be2f53612fc74dad27260bb2d711' + deposit: + pubkey: '0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057' + withdrawal_credentials: '0x39722cbbf8b91a4b9045c5e6175f1001eac32f7fcd5eccda5c6e62fc4e638508' + amount: '32' + genesis_fork_version: '0x00000001' + responses: + '200': + description: hex encoded string of signature + content: + application/json: + schema: + $ref: '#/components/schemas/SigningResponse' + text/plain: + schema: + type: string + example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' + '400': + description: Bad request format + '404': + description: Public Key not found + '412': + description: Signing operation failed due to slashing protection rules + '500': + description: Internal server error + /api/v1/eth2/publicKeys: + get: + tags: + - Public Key + summary: List of available BLS Public Keys + description: Returns a hex-encoded list of BLS public keys for the private keys that have been loaded into Remote Signer. + operationId: PUBLIC_KEY_LIST + responses: + '200': + description: list of public keys + content: + application/json: + schema: + type: array + items: + type: string + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + '400': + description: Bad request format + '500': + description: Internal server error + /api/v1/eth2/highWatermark: + get: + tags: + - High Watermark + summary: The High Watermark epoch and slot applicable to all validators + description: Returns the uint64 epoch and slot of the high watermark. Signing of attestations or blocks are only allowed when they are lower than this high watermark. If no high watermark is set, an empty JSON object will be returned. + operationId: HIGH_WATERMARK + responses: + '200': + description: high watermark + content: + application/json: + schema: + type: object + properties: + epoch: + type: string + format: uint64 + slot: + type: string + format: uint64 + '400': + description: Bad request format + '500': + description: Internal Web3Signer server error + /reload: + get: + tags: + - Reload Signer Keys + summary: Get reload operation status + description: | + Returns the current status of the reload operation. Use this to monitor background reload progress. + + The status endpoint provides visibility into: + - Whether a reload is currently in progress + - Success or failure of the last reload operation + - Number of signer loading errors encountered (if any) + - Timestamp of the last operation + operationId: RELOAD_STATUS + responses: + '200': + description: Current reload status + content: + application/json: + schema: + type: object + required: + - status + properties: + status: + type: string + enum: + - idle + - running + - completed + - completed_with_errors + - failed + description: | + Current status of reload operation: + - `idle`: No reload has been triggered yet, or system just started + - `running`: Reload operation is currently in progress + - `completed`: Last reload completed successfully with no errors + - `completed_with_errors`: Last reload completed but some signer configurations failed to load + - `failed`: Last reload failed due to infrastructure error (e.g., executor shutdown) + lastOperationTime: + type: string + format: date-time + description: Timestamp of last reload operation start/completion (ISO-8601 format). Absent if no reload has been triggered yet. + lastError: + type: string + description: | + Error or warning message from last reload operation. Present when: + - `status` is `failed`: Contains infrastructure failure details + - `status` is `completed_with_errors`: Contains count of signer loading failures + + Absent when status is `idle`, `running`, or `completed`. + examples: + idle: + summary: Initial state - no reload triggered yet + value: + status: idle + running: + summary: Reload in progress + value: + status: running + lastOperationTime: '2025-12-10T10:30:00Z' + completed: + summary: Successful reload with no errors + value: + status: completed + lastOperationTime: '2025-12-10T10:30:15Z' + completed_with_errors: + summary: Reload completed but some signers failed to load + value: + status: completed_with_errors + lastOperationTime: '2025-12-10T10:30:12Z' + lastError: Reload completed with 3 signer loading error(s) + failed: + summary: Reload failed due to infrastructure error + value: + status: failed + lastOperationTime: '2025-12-10T10:30:10Z' + lastError: 'Reload failed: Executor service unavailable' + post: + tags: + - Reload Signer Keys + summary: Reload signer keys asynchronously + description: | + Reloads signer keys asynchronously in the background. This endpoint is used after adding, removing, + or modifying keystore files to make Web3Signer aware of the changes without restarting. + + The reload operation: + - Scans all configured keystore directories and remote vaults + - Loads valid signer configurations + - Logs warnings for any invalid configurations (malformed files, invalid keys, etc.) + - Makes successfully loaded signers available for signing operations + - Returns immediately with 202 Accepted while processing continues in the background + + **Important notes:** + - Only one reload operation can run at a time (subsequent requests return 409 Conflict) + - Individual signer loading failures do not cause the entire reload to fail + - Use `GET /reload` to check status and error counts + - Successfully loaded signers are available even if some configurations fail + + **Not used by validator clients** - this is an administrative endpoint for node operators. + operationId: RELOAD + responses: + '202': + description: Reload request accepted and is running in the background + content: + application/json: + schema: + type: object + required: + - status + - message + properties: + status: + type: string + enum: + - accepted + description: Request acceptance status + message: + type: string + description: Human-readable message with instructions to check status + example: + status: accepted + message: Reload operation accepted and is running in the background. Use GET /reload to check status. + '409': + description: A reload operation is already in progress + content: + application/json: + schema: + type: object + required: + - status + - message + properties: + status: + type: string + enum: + - error + description: Error status + message: + type: string + description: Human-readable error message + example: + status: error + message: A reload operation is already in progress. Please try again later. + '500': + description: Internal Web3Signer server error - failed to initiate reload operation + /upcheck: + get: + tags: + - Server Status + summary: Server Status + description: | + Checks the Web3Signer server status. Confirms if Web3Signer is connected and running. Not used by validator clients. + operationId: UPCHECK + responses: + '200': + description: OK + content: + text/plain; charset=utf-8: + schema: + type: string + example: OK + '500': + description: Internal Web3Signer server error + /healthcheck: + get: + tags: + - Server Health Status + summary: Server Health Status + description: | + Checks the Web3Signer server health status. Confirms if Web3Signer is healthy. Not used by validator clients. + operationId: HEALTHCHECK + responses: + '200': + description: System is healthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthCheck' + '503': + description: At least one procedure is unhealthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthCheck' + /eth/v1/keystores: + get: + operationId: KEYMANAGER_LIST + summary: List Keys. + description: | + List all validating pubkeys known to and decrypted by this keymanager binary + security: + - bearerAuth: [] + tags: + - Keymanager + responses: + '200': + description: Success response + content: + application/json: + schema: + title: ListKeysResponse + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - validating_pubkey + properties: + validating_pubkey: + $ref: '#/components/schemas/Pubkey' + derivation_path: + type: string + description: The derivation path (if present in the imported keystore). + example: m/12381/3600/0/0/0 + readonly: + type: boolean + description: The key associated with this pubkey cannot be deleted from the API + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalError' + post: + operationId: KEYMANAGER_IMPORT + summary: Import Keystores. + description: | + Import keystores generated by the Eth2.0 deposit CLI tooling. `passwords[i]` must unlock `keystores[i]`. + + Users SHOULD send slashing_protection data associated with the imported pubkeys. MUST follow the format defined in + EIP-3076: Slashing Protection Interchange Format. + security: + - bearerAuth: [] + tags: + - Keymanager + requestBody: + content: + application/json: + schema: + type: object + required: + - keystores + - passwords + properties: + keystores: + type: array + description: JSON-encoded keystore files generated with the Launchpad. + items: + $ref: '#/components/schemas/Keystore' + passwords: + type: array + description: Passwords to unlock imported keystore files. `passwords[i]` must unlock `keystores[i]`. + items: + type: string + example: ABCDEFGH01234567ABCDEFGH01234567 + slashing_protection: + $ref: '#/components/schemas/SlashingProtectionData' + responses: + '200': + description: Success response + content: + application/json: + schema: + title: ImportKeystoresResponse + type: object + required: + - data + properties: + data: + type: array + description: Status result of each `request.keystores` with same length and order of `request.keystores` + items: + type: object + required: + - status + properties: + status: + type: string + description: | + - imported: Keystore successfully decrypted and imported to keymanager permanent storage + - duplicate: Keystore's pubkey is already known to the keymanager + - error: Any other status different to the above: decrypting error, I/O errors, etc. + enum: + - imported + - duplicate + - error + example: imported + message: + type: string + description: error message if status == error + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalError' + delete: + operationId: KEYMANAGER_DELETE + summary: Delete Keys. + description: | + DELETE must delete all keys from `request.pubkeys` that are known to the keymanager and exist in its + persistent storage. Additionally, DELETE must fetch the slashing protection data for the requested keys from + persistent storage, which must be retained (and not deleted) after the response has been sent. Therefore in the + case of two identical delete requests being made, both will have access to slashing protection data. + + In a single atomic sequential operation the keymanager must: + 1. Guarantee that key(s) can not produce any more signature; only then + 2. Delete key(s) and serialize its associated slashing protection data + + DELETE should never return a 404 response, even if all pubkeys from request.pubkeys have no extant keystores + nor slashing protection data. + security: + - bearerAuth: [] + tags: + - Keymanager + requestBody: + content: + application/json: + schema: + type: object + required: + - pubkeys + properties: + pubkeys: + type: array + description: List of public keys to delete. + items: + $ref: '#/components/schemas/Pubkey' + responses: + '200': + description: Success response + content: + application/json: + schema: + title: DeleteKeysResponse + type: object + required: + - data + - slashing_protection + properties: + data: + type: array + description: Deletion status of all keys in `request.pubkeys` in the same order. + items: + type: object + required: + - status + properties: + status: + type: string + description: | + - deleted: key was active and removed + - not_active: slashing protection data returned but key was not active + - not_found: key was not found to be removed, and no slashing data can be returned + - error: unexpected condition meant the key could not be removed (the key was actually found, but we couldn't stop using it) - this would be a sign that making it active elsewhere would almost certainly cause you headaches / slashing conditions etc. + enum: + - deleted + - not_active + - not_found + - error + example: deleted + message: + type: string + description: error message if status == error + slashing_protection: + $ref: '#/components/schemas/SlashingProtectionData' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalError' +components: + schemas: + Fork: + type: object + properties: + previous_version: + pattern: ^0x[a-fA-F0-9]{8}$ + type: string + description: Previous version of fork + example: '0x00000001' + current_version: + pattern: ^0x[a-fA-F0-9]{8}$ + type: string + description: Current version of fork + example: '0x00000001' + epoch: + type: string + description: Epoch value in String format + format: uint64 + example: '1' + Signing: + type: object + properties: + fork_info: + type: object + properties: + fork: + $ref: '#/components/schemas/Fork' + description: Fork information + genesis_validators_root: + type: string + description: Genesis Validators Root in hex string format. + example: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + required: + - fork + - genesis_validators_root + signingRoot: + type: string + description: signing root for optional verification if field present + example: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' + required: + - fork_info + AggregationSlotSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - AGGREGATION_SLOT + aggregation_slot: + type: object + properties: + slot: + type: string + format: uint64 + required: + - type + - aggregation_slot + Checkpoint: + type: object + properties: + epoch: + type: string + root: + type: string + AttestationData: + type: object + properties: + slot: + type: string + format: uint64 + index: + type: string + format: uint64 + beacon_block_root: + type: string + source: + $ref: '#/components/schemas/Checkpoint' + target: + $ref: '#/components/schemas/Checkpoint' + AttestationPhase0: + type: object + properties: + aggregation_bits: + type: string + data: + $ref: '#/components/schemas/AttestationData' + signature: + type: string + AggregateAndProofPhase0: + type: object + properties: + aggregator_index: + type: string + format: uint64 + aggregate: + $ref: '#/components/schemas/AttestationPhase0' + selection_proof: + type: string + description: Bytes96 hexadecimal + AggregateAndProofSigning: + description: '** DEPRECATED ** See AggregateAndProofSigningV2.' + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - AGGREGATE_AND_PROOF + aggregate_and_proof: + $ref: '#/components/schemas/AggregateAndProofPhase0' + required: + - type + - aggregate_and_proof + AggregateAndProofRequestPhase0: + type: object + properties: + version: + type: string + enum: + - PHASE0 + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofPhase0' + required: + - version + - data + AggregateAndProofRequestAltair: + type: object + properties: + version: + type: string + enum: + - ALTAIR + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofPhase0' + required: + - version + - data + AggregateAndProofRequestBellatrix: + type: object + properties: + version: + type: string + enum: + - BELLATRIX + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofPhase0' + required: + - version + - data + AggregateAndProofRequestCapella: + type: object + properties: + version: + type: string + enum: + - CAPELLA + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofPhase0' + required: + - version + - data + AggregateAndProofRequestDeneb: + type: object + properties: + version: + type: string + enum: + - DENEB + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofPhase0' + required: + - version + - data + AttestationElectra: + type: object + properties: + aggregation_bits: + type: string + data: + $ref: '#/components/schemas/AttestationData' + signature: + type: string + committee_bits: + type: string + AggregateAndProofElectra: + type: object + properties: + aggregator_index: + type: string + format: uint64 + aggregate: + $ref: '#/components/schemas/AttestationElectra' + selection_proof: + type: string + description: Bytes96 hexadecimal + AggregateAndProofRequestElectra: + type: object + properties: + version: + type: string + enum: + - ELECTRA + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofElectra' + required: + - version + - data + AggregateAndProofRequestFulu: + type: object + properties: + version: + type: string + enum: + - FULU + description: version to identify AggregateAndProof request type. + data: + $ref: '#/components/schemas/AggregateAndProofElectra' + required: + - version + - data + AggregateAndProofRequest: + type: object + properties: + aggregate_and_proof: + oneOf: + - $ref: '#/components/schemas/AggregateAndProofRequestPhase0' + - $ref: '#/components/schemas/AggregateAndProofRequestAltair' + - $ref: '#/components/schemas/AggregateAndProofRequestBellatrix' + - $ref: '#/components/schemas/AggregateAndProofRequestCapella' + - $ref: '#/components/schemas/AggregateAndProofRequestDeneb' + - $ref: '#/components/schemas/AggregateAndProofRequestElectra' + - $ref: '#/components/schemas/AggregateAndProofRequestFulu' + discriminator: + propertyName: version + mapping: + PHASE0: '#/components/schemas/AggregateAndProofRequestPhase0' + ALTAIR: '#/components/schemas/AggregateAndProofRequestAltair' + BELLATRIX: '#/components/schemas/AggregateAndProofRequestBellatrix' + CAPELLA: '#/components/schemas/AggregateAndProofRequestCapella' + DENEB: '#/components/schemas/AggregateAndProofRequestDeneb' + ELECTRA: '#/components/schemas/AggregateAndProofRequestElectra' + FULU: '#/components/schemas/AggregateAndProofRequestFulu' + required: + - aggregate_and_proof + AggregateAndProofSigningV2: + allOf: + - $ref: '#/components/schemas/Signing' + - $ref: '#/components/schemas/AggregateAndProofRequest' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - AGGREGATE_AND_PROOF_V2 + required: + - type + AttestationSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - ATTESTATION + attestation: + $ref: '#/components/schemas/AttestationData' + required: + - type + - attestation + Eth1Data: + type: object + properties: + deposit_root: + type: string + deposit_count: + type: string + format: uint64 + block_hash: + type: string + BeaconBlockHeader: + type: object + properties: + slot: + type: string + format: uint64 + proposer_index: + type: string + format: uint64 + parent_root: + type: string + description: Bytes32 hexadecimal + state_root: + type: string + description: Bytes32 hexadecimal + body_root: + type: string + description: Bytes32 hexadecimal + SignedBeaconBlockHeader: + type: object + properties: + message: + $ref: '#/components/schemas/BeaconBlockHeader' + signature: + type: string + ProposerSlashing: + type: object + properties: + signed_header_1: + $ref: '#/components/schemas/SignedBeaconBlockHeader' + signed_header_2: + $ref: '#/components/schemas/SignedBeaconBlockHeader' + IndexedAttestation: + type: object + properties: + attesting_indices: + type: array + items: + type: string + format: uint64 + data: + $ref: '#/components/schemas/AttestationData' + signature: + type: string + AttesterSlashing: + type: object + properties: + attestation_1: + $ref: '#/components/schemas/IndexedAttestation' + attestation_2: + $ref: '#/components/schemas/IndexedAttestation' + DepositData: + type: object + properties: + pubkey: + type: string + withdrawal_credentials: + type: string + amount: + type: string + signature: + type: string + Deposit: + type: object + properties: + proof: + type: array + items: + type: string + data: + $ref: '#/components/schemas/DepositData' + VoluntaryExit: + type: object + properties: + epoch: + type: string + format: uint64 + validator_index: + type: string + format: uint64 + SignedVoluntaryExit: + type: object + properties: + message: + $ref: '#/components/schemas/VoluntaryExit' + signature: + type: string + BeaconBlockBody: + type: object + properties: + randao_reveal: + type: string + eth1_data: + $ref: '#/components/schemas/Eth1Data' + graffiti: + type: string + description: Bytes32 hexadecimal + proposer_slashings: + type: array + items: + $ref: '#/components/schemas/ProposerSlashing' + attester_slashings: + type: array + items: + $ref: '#/components/schemas/AttesterSlashing' + attestations: + type: array + items: + $ref: '#/components/schemas/AttestationPhase0' + deposits: + type: array + items: + $ref: '#/components/schemas/Deposit' + voluntary_exits: + type: array + items: + $ref: '#/components/schemas/SignedVoluntaryExit' + BeaconBlock: + type: object + properties: + slot: + type: string + format: uint64 + proposer_index: + type: string + format: uint64 + parent_root: + type: string + state_root: + type: string + body: + $ref: '#/components/schemas/BeaconBlockBody' + BlockSigning: + description: '** DEPRECATED ** See BeaconBlockSigning.' + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - BLOCK + block: + $ref: '#/components/schemas/BeaconBlock' + required: + - type + - block + BlockRequestPhase0: + type: object + properties: + version: + type: string + enum: + - PHASE0 + description: version to identify block request type. + block: + $ref: '#/components/schemas/BeaconBlock' + required: + - version + - block + SyncAggregate: + type: object + properties: + sync_committee_bits: + type: string + description: SSZ hexadecimal + sync_committee_signature: + type: string + description: Bytes96 hexadecimal + BeaconBlockBodyAltair: + allOf: + - $ref: '#/components/schemas/BeaconBlockBody' + - type: object + properties: + sync_aggregate: + $ref: '#/components/schemas/SyncAggregate' + BeaconBlockAltair: + type: object + properties: + slot: + type: string + format: uint64 + proposer_index: + type: string + format: uint64 + parent_root: + type: string + state_root: + type: string + body: + $ref: '#/components/schemas/BeaconBlockBodyAltair' + BlockRequestAltair: + type: object + properties: + version: + type: string + enum: + - ALTAIR + description: version to identify block request type. + block: + $ref: '#/components/schemas/BeaconBlockAltair' + required: + - version + - block + BlockRequestBellatrix: + type: object + properties: + version: + type: string + enum: + - BELLATRIX + description: version to identify block request type. + block_header: + $ref: '#/components/schemas/BeaconBlockHeader' + required: + - version + - block_header + BlockRequestCapella: + type: object + properties: + version: + type: string + enum: + - CAPELLA + description: version to identify block request type. + block_header: + $ref: '#/components/schemas/BeaconBlockHeader' + required: + - version + - block_header + BlockRequestDeneb: + type: object + properties: + version: + type: string + enum: + - DENEB + description: version to identify block request type. + block_header: + $ref: '#/components/schemas/BeaconBlockHeader' + required: + - version + - block_header + BlockRequestElectra: + type: object + properties: + version: + type: string + enum: + - ELECTRA + description: version to identify block request type. + block_header: + $ref: '#/components/schemas/BeaconBlockHeader' + required: + - version + - block_header + BlockRequestFulu: + type: object + properties: + version: + type: string + enum: + - FULU + description: version to identify block request type. + block_header: + $ref: '#/components/schemas/BeaconBlockHeader' + required: + - version + - block_header + BeaconBlockRequest: + type: object + properties: + beacon_block: + oneOf: + - $ref: '#/components/schemas/BlockRequestPhase0' + - $ref: '#/components/schemas/BlockRequestAltair' + - $ref: '#/components/schemas/BlockRequestBellatrix' + - $ref: '#/components/schemas/BlockRequestCapella' + - $ref: '#/components/schemas/BlockRequestDeneb' + - $ref: '#/components/schemas/BlockRequestElectra' + - $ref: '#/components/schemas/BlockRequestFulu' + discriminator: + propertyName: version + mapping: + PHASE0: '#/components/schemas/BlockRequestPhase0' + ALTAIR: '#/components/schemas/BlockRequestAltair' + BELLATRIX: '#/components/schemas/BlockRequestBellatrix' + CAPELLA: '#/components/schemas/BlockRequestCapella' + DENEB: '#/components/schemas/BlockRequestDeneb' + ELECTRA: '#/components/schemas/BlockRequestElectra' + FULU: '#/components/schemas/BlockRequestFulu' + required: + - beacon_block + BeaconBlockSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - $ref: '#/components/schemas/BeaconBlockRequest' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - BLOCK_V2 + required: + - type + DepositSigning: + type: object + properties: + type: + type: string + description: Signing Request type + enum: + - DEPOSIT + signingRoot: + description: signing root for optional verification if field present + type: string + deposit: + type: object + properties: + pubkey: + type: string + withdrawal_credentials: + type: string + amount: + type: string + genesis_fork_version: + type: string + description: Bytes4 hexadecimal + required: + - type + - deposit + RandaoReveal: + type: object + properties: + epoch: + type: string + format: uint64 + RandaoRevealSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - RANDAO_REVEAL + randao_reveal: + $ref: '#/components/schemas/RandaoReveal' + required: + - type + - randao_reveal + VoluntaryExitSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - VOLUNTARY_EXIT + voluntary_exit: + $ref: '#/components/schemas/VoluntaryExit' + required: + - type + - voluntary_exit + SyncCommitteeMessage: + type: object + properties: + beacon_block_root: + type: string + description: Bytes32 hexadecimal + slot: + type: string + format: uint64 + SyncCommitteeMessageSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - SYNC_COMMITTEE_MESSAGE + sync_committee_message: + $ref: '#/components/schemas/SyncCommitteeMessage' + required: + - type + - sync_committee_message + SyncAggregatorSelectionData: + type: object + properties: + slot: + type: string + format: uint64 + subcommittee_index: + type: string + format: uint64 + SyncCommitteeSelectionProofSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - SYNC_COMMITTEE_SELECTION_PROOF + sync_aggregator_selection_data: + $ref: '#/components/schemas/SyncAggregatorSelectionData' + required: + - type + - sync_aggregator_selection_data + SyncCommitteeContribution: + type: object + properties: + slot: + type: string + format: uint64 + beacon_block_root: + type: string + description: Bytes32 hexadecimal + subcommittee_index: + type: string + format: uint64 + aggregation_bits: + type: string + description: SSZ hexadecimal + signature: + type: string + description: Bytes96 hexadecimal + ContributionAndProof: + type: object + properties: + aggregator_index: + type: string + format: uint64 + selection_proof: + type: string + description: Bytes96 hexadecimal + contribution: + $ref: '#/components/schemas/SyncCommitteeContribution' + SyncCommitteeContributionAndProofSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF + contribution_and_proof: + $ref: '#/components/schemas/ContributionAndProof' + required: + - type + - contribution_and_proof + ValidatorRegistration: + type: object + properties: + fee_recipient: + type: string + description: Bytes20 hexadecimal + gas_limit: + type: string + format: uint64 + timestamp: + type: string + format: uint64 + pubkey: + type: string + ValidatorRegistrationSigning: + allOf: + - type: object + properties: + type: + type: string + description: Signing Request type + enum: + - VALIDATOR_REGISTRATION + signingRoot: + description: signing root for optional verification if field present + type: string + validator_registration: + $ref: '#/components/schemas/ValidatorRegistration' + required: + - type + - validator_registration + SigningResponse: + type: object + properties: + signature: + type: string + description: Hex encoded string of signature + example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' + HealthCheck: + type: object + properties: + status: + type: string + description: health status + checks: + type: array + description: list of status checks + items: + properties: + id: + type: string + description: status id + status: + type: string + description: health status + outcome: + type: string + description: the overall outcome of health check + Pubkey: + type: string + pattern: ^0x[a-fA-F0-9]{96}$ + description: | + The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + ErrorResponse: + type: object + required: + - message + properties: + message: + description: Detailed error message + type: string + example: description of the error that occurred + Keystore: + type: string + description: | + JSON serialized representation of a single keystore in EIP-2335: BLS12-381 Keystore format. + example: '{"version":4,"uuid":"9f75a3fa-1e5a-49f9-be3d-f5a19779c6fa","path":"m/12381/3600/0/0/0","pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","crypto":{"kdf":{"function":"pbkdf2","params":{"dklen":32,"c":262144,"prf":"hmac-sha256","salt":"8ff8f22ef522a40f99c6ce07fdcfc1db489d54dfbc6ec35613edf5d836fa1407"},"message":""},"checksum":{"function":"sha256","params":{},"message":"9678a69833d2576e3461dd5fa80f6ac73935ae30d69d07659a709b3cd3eddbe3"},"cipher":{"function":"aes-128-ctr","params":{"iv":"31b69f0ac97261e44141b26aa0da693f"},"message":"e8228bafec4fcbaca3b827e586daad381d53339155b034e5eaae676b715ab05e"}}}' + SlashingProtectionData: + type: string + description: | + JSON serialized representation of the slash protection data in format defined in EIP-3076: Slashing Protection Interchange Format. + example: '{"metadata":{"interchange_format_version":"5","genesis_validators_root":"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"},"data":[{"pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","signed_blocks":[],"signed_attestations":[]}]}' + responses: + Unauthorized: + description: Unauthorized, no token is found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + Forbidden: + description: Forbidden, a token is found but is invalid + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + InternalError: + description: Internal server error. The server encountered an unexpected error indicative of a serious fault in the system, or a bug. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + BadRequest: + description: Bad request. Request was malformed and could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' diff --git a/src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml b/src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml new file mode 100644 index 00000000..eb1959ef --- /dev/null +++ b/src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml @@ -0,0 +1,187 @@ +get: + operationId: KEYMANAGER_LIST + summary: List Keys. + description: | + List all validating pubkeys known to and decrypted by this keymanager binary + security: + - bearerAuth: [] + tags: + - Keymanager + responses: + "200": + description: Success response + content: + application/json: + schema: + title: ListKeysResponse + type: object + required: [data] + properties: + data: + type: array + items: + type: object + required: [validating_pubkey] + properties: + validating_pubkey: + $ref: "../schemas.yaml#/components/schemas/Pubkey" + derivation_path: + type: string + description: The derivation path (if present in the imported keystore). + example: "m/12381/3600/0/0/0" + readonly: + type: boolean + description: The key associated with this pubkey cannot be deleted from the API + "401": + $ref: "../schemas.yaml#/components/responses/Unauthorized" + "403": + $ref: "../schemas.yaml#/components/responses/Forbidden" + "500": + $ref: "../schemas.yaml#/components/responses/InternalError" + +post: + operationId: KEYMANAGER_IMPORT + summary: Import Keystores. + description: | + Import keystores generated by the Eth2.0 deposit CLI tooling. `passwords[i]` must unlock `keystores[i]`. + + Users SHOULD send slashing_protection data associated with the imported pubkeys. MUST follow the format defined in + EIP-3076: Slashing Protection Interchange Format. + security: + - bearerAuth: [] + tags: + - Keymanager + requestBody: + content: + application/json: + schema: + type: object + required: [keystores, passwords] + properties: + keystores: + type: array + description: JSON-encoded keystore files generated with the Launchpad. + items: + $ref: "../schemas.yaml#/components/schemas/Keystore" + passwords: + type: array + description: Passwords to unlock imported keystore files. `passwords[i]` must unlock `keystores[i]`. + items: + type: string + example: "ABCDEFGH01234567ABCDEFGH01234567" + slashing_protection: + $ref: "../schemas.yaml#/components/schemas/SlashingProtectionData" + responses: + "200": + description: Success response + content: + application/json: + schema: + title: ImportKeystoresResponse + type: object + required: [data] + properties: + data: + type: array + description: Status result of each `request.keystores` with same length and order of `request.keystores` + items: + type: object + required: [status] + properties: + status: + type: string + description: | + - imported: Keystore successfully decrypted and imported to keymanager permanent storage + - duplicate: Keystore's pubkey is already known to the keymanager + - error: Any other status different to the above: decrypting error, I/O errors, etc. + enum: + - imported + - duplicate + - error + example: imported + message: + type: string + description: error message if status == error + "400": + $ref: "../schemas.yaml#/components/responses/BadRequest" + "401": + $ref: "../schemas.yaml#/components/responses/Unauthorized" + "403": + $ref: "../schemas.yaml#/components/responses/Forbidden" + "500": + $ref: "../schemas.yaml#/components/responses/InternalError" + +delete: + operationId: KEYMANAGER_DELETE + summary: Delete Keys. + description: | + DELETE must delete all keys from `request.pubkeys` that are known to the keymanager and exist in its + persistent storage. Additionally, DELETE must fetch the slashing protection data for the requested keys from + persistent storage, which must be retained (and not deleted) after the response has been sent. Therefore in the + case of two identical delete requests being made, both will have access to slashing protection data. + + In a single atomic sequential operation the keymanager must: + 1. Guarantee that key(s) can not produce any more signature; only then + 2. Delete key(s) and serialize its associated slashing protection data + + DELETE should never return a 404 response, even if all pubkeys from request.pubkeys have no extant keystores + nor slashing protection data. + security: + - bearerAuth: [] + tags: + - Keymanager + requestBody: + content: + application/json: + schema: + type: object + required: [pubkeys] + properties: + pubkeys: + type: array + description: List of public keys to delete. + items: + $ref: "../schemas.yaml#/components/schemas/Pubkey" + responses: + "200": + description: Success response + content: + application/json: + schema: + title: DeleteKeysResponse + type: object + required: [data, slashing_protection] + properties: + data: + type: array + description: Deletion status of all keys in `request.pubkeys` in the same order. + items: + type: object + required: [status] + properties: + status: + type: string + description: | + - deleted: key was active and removed + - not_active: slashing protection data returned but key was not active + - not_found: key was not found to be removed, and no slashing data can be returned + - error: unexpected condition meant the key could not be removed (the key was actually found, but we couldn't stop using it) - this would be a sign that making it active elsewhere would almost certainly cause you headaches / slashing conditions etc. + enum: + - deleted + - not_active + - not_found + - error + example: deleted + message: + type: string + description: error message if status == error + slashing_protection: + $ref: "../schemas.yaml#/components/schemas/SlashingProtectionData" + "400": + $ref: "../schemas.yaml#/components/responses/BadRequest" + "401": + $ref: "../schemas.yaml#/components/responses/Unauthorized" + "403": + $ref: "../schemas.yaml#/components/responses/Forbidden" + "500": + $ref: "../schemas.yaml#/components/responses/InternalError" diff --git a/src/src/openapi-specs/eth2/keymanager/schemas.yaml b/src/src/openapi-specs/eth2/keymanager/schemas.yaml new file mode 100644 index 00000000..43d4f083 --- /dev/null +++ b/src/src/openapi-specs/eth2/keymanager/schemas.yaml @@ -0,0 +1,65 @@ +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + + schemas: + Pubkey: + type: string + pattern: "^0x[a-fA-F0-9]{96}$" + description: | + The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + example: "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a" + + Keystore: + type: string + description: | + JSON serialized representation of a single keystore in EIP-2335: BLS12-381 Keystore format. + example: '{"version":4,"uuid":"9f75a3fa-1e5a-49f9-be3d-f5a19779c6fa","path":"m/12381/3600/0/0/0","pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","crypto":{"kdf":{"function":"pbkdf2","params":{"dklen":32,"c":262144,"prf":"hmac-sha256","salt":"8ff8f22ef522a40f99c6ce07fdcfc1db489d54dfbc6ec35613edf5d836fa1407"},"message":""},"checksum":{"function":"sha256","params":{},"message":"9678a69833d2576e3461dd5fa80f6ac73935ae30d69d07659a709b3cd3eddbe3"},"cipher":{"function":"aes-128-ctr","params":{"iv":"31b69f0ac97261e44141b26aa0da693f"},"message":"e8228bafec4fcbaca3b827e586daad381d53339155b034e5eaae676b715ab05e"}}}' + + SlashingProtectionData: + type: string + description: | + JSON serialized representation of the slash protection data in format defined in EIP-3076: Slashing Protection Interchange Format. + example: '{"metadata":{"interchange_format_version":"5","genesis_validators_root":"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"},"data":[{"pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","signed_blocks":[],"signed_attestations":[]}]}' + + ErrorResponse: + type: object + required: [message] + properties: + message: + description: "Detailed error message" + type: string + example: "description of the error that occurred" + + responses: + BadRequest: + description: "Bad request. Request was malformed and could not be processed" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + + Unauthorized: + description: "Unauthorized, no token is found" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + + Forbidden: + description: "Forbidden, a token is found but is invalid" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + + InternalError: + description: "Internal server error. The server encountered an unexpected error indicative of + a serious fault in the system, or a bug." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml b/src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml new file mode 100644 index 00000000..ca90d2b9 --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml @@ -0,0 +1,20 @@ +get: + tags: + - 'Server Health Status' + summary: 'Server Health Status' + description: | + Checks the Web3Signer server health status. Confirms if Web3Signer is healthy. Not used by validator clients. + operationId: 'HEALTHCHECK' + responses: + '200': + description: 'System is healthy' + content: + application/json: + schema: + "$ref": "../schemas.yaml#/components/schemas/HealthCheck" + '503': + description: 'At least one procedure is unhealthy' + content: + application/json: + schema: + "$ref": "../schemas.yaml#/components/schemas/HealthCheck" \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml b/src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml new file mode 100644 index 00000000..dba0d131 --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml @@ -0,0 +1,24 @@ +get: + tags: + - 'High Watermark' + summary: 'The High Watermark epoch and slot applicable to all validators' + description: 'Returns the uint64 epoch and slot of the high watermark. Signing of attestations or blocks are only allowed when they are lower than this high watermark. If no high watermark is set, an empty JSON object will be returned.' + operationId: 'HIGH_WATERMARK' + responses: + '200': + description: 'high watermark' + content: + application/json: + schema: + type: "object" + properties: + epoch: + type: "string" + format: "uint64" + slot: + type: "string" + format: "uint64" + '400': + description: 'Bad request format' + '500': + description: 'Internal Web3Signer server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/public_keys.yaml b/src/src/openapi-specs/eth2/signing/paths/public_keys.yaml new file mode 100644 index 00000000..59f38d10 --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/paths/public_keys.yaml @@ -0,0 +1,20 @@ +get: + tags: + - 'Public Key' + summary: 'List of available BLS Public Keys' + description: 'Returns a hex-encoded list of BLS public keys for the private keys that have been loaded into Remote Signer.' + operationId: 'PUBLIC_KEY_LIST' + responses: + '200': + description: 'list of public keys' + content: + application/json: + schema: + type: array + items: + type: string + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + '400': + description: 'Bad request format' + '500': + description: 'Internal server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/reload.yaml b/src/src/openapi-specs/eth2/signing/paths/reload.yaml new file mode 100644 index 00000000..d18ff480 --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/paths/reload.yaml @@ -0,0 +1,138 @@ +get: + tags: + - 'Reload Signer Keys' + summary: 'Get reload operation status' + description: | + Returns the current status of the reload operation. Use this to monitor background reload progress. + + The status endpoint provides visibility into: + - Whether a reload is currently in progress + - Success or failure of the last reload operation + - Number of signer loading errors encountered (if any) + - Timestamp of the last operation + operationId: 'RELOAD_STATUS' + responses: + '200': + description: 'Current reload status' + content: + application/json: + schema: + type: object + required: + - status + properties: + status: + type: string + enum: ['idle', 'running', 'completed', 'completed_with_errors', 'failed'] + description: | + Current status of reload operation: + - `idle`: No reload has been triggered yet, or system just started + - `running`: Reload operation is currently in progress + - `completed`: Last reload completed successfully with no errors + - `completed_with_errors`: Last reload completed but some signer configurations failed to load + - `failed`: Last reload failed due to infrastructure error (e.g., executor shutdown) + lastOperationTime: + type: string + format: date-time + description: 'Timestamp of last reload operation start/completion (ISO-8601 format). Absent if no reload has been triggered yet.' + lastError: + type: string + description: | + Error or warning message from last reload operation. Present when: + - `status` is `failed`: Contains infrastructure failure details + - `status` is `completed_with_errors`: Contains count of signer loading failures + + Absent when status is `idle`, `running`, or `completed`. + examples: + idle: + summary: 'Initial state - no reload triggered yet' + value: + status: 'idle' + running: + summary: 'Reload in progress' + value: + status: 'running' + lastOperationTime: '2025-12-10T10:30:00Z' + completed: + summary: 'Successful reload with no errors' + value: + status: 'completed' + lastOperationTime: '2025-12-10T10:30:15Z' + completed_with_errors: + summary: 'Reload completed but some signers failed to load' + value: + status: 'completed_with_errors' + lastOperationTime: '2025-12-10T10:30:12Z' + lastError: 'Reload completed with 3 signer loading error(s)' + failed: + summary: 'Reload failed due to infrastructure error' + value: + status: 'failed' + lastOperationTime: '2025-12-10T10:30:10Z' + lastError: 'Reload failed: Executor service unavailable' +post: + tags: + - 'Reload Signer Keys' + summary: 'Reload signer keys asynchronously' + description: | + Reloads signer keys asynchronously in the background. This endpoint is used after adding, removing, + or modifying keystore files to make Web3Signer aware of the changes without restarting. + + The reload operation: + - Scans all configured keystore directories and remote vaults + - Loads valid signer configurations + - Logs warnings for any invalid configurations (malformed files, invalid keys, etc.) + - Makes successfully loaded signers available for signing operations + - Returns immediately with 202 Accepted while processing continues in the background + + **Important notes:** + - Only one reload operation can run at a time (subsequent requests return 409 Conflict) + - Individual signer loading failures do not cause the entire reload to fail + - Use `GET /reload` to check status and error counts + - Successfully loaded signers are available even if some configurations fail + + **Not used by validator clients** - this is an administrative endpoint for node operators. + operationId: 'RELOAD' + responses: + '202': + description: 'Reload request accepted and is running in the background' + content: + application/json: + schema: + type: object + required: + - status + - message + properties: + status: + type: string + enum: ['accepted'] + description: 'Request acceptance status' + message: + type: string + description: 'Human-readable message with instructions to check status' + example: + status: 'accepted' + message: 'Reload operation accepted and is running in the background. Use GET /reload to check status.' + '409': + description: 'A reload operation is already in progress' + content: + application/json: + schema: + type: object + required: + - status + - message + properties: + status: + type: string + enum: ['error'] + description: 'Error status' + message: + type: string + description: 'Human-readable error message' + example: + status: 'error' + message: 'A reload operation is already in progress. Please try again later.' + '500': + description: 'Internal Web3Signer server error - failed to initiate reload operation' diff --git a/src/src/openapi-specs/eth2/signing/paths/sign.yaml b/src/src/openapi-specs/eth2/signing/paths/sign.yaml new file mode 100644 index 00000000..58c9f0d8 --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/paths/sign.yaml @@ -0,0 +1,854 @@ +post: + tags: + - 'Signing' + summary: 'Signs data for BLS public key' + description: 'Signs data for the BLS public key specified as part of the URL and returns the signature' + operationId: 'SIGN' + parameters: + - name: 'identifier' + in: 'path' + required: true + description: 'BLS public key in hex format for which data to sign' + schema: + type: 'string' + example: '0x989d34725a2bfc3f15105f3f5fc8741f436c25ee1ee4f948e425d6bcb8c56bce6e06c269635b7e985a7ffa639e2409bf' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '../schemas.yaml#/components/schemas/AggregationSlotSigning' + - $ref: '../schemas.yaml#/components/schemas/AggregateAndProofSigning' + - $ref: '../schemas.yaml#/components/schemas/AggregateAndProofSigningV2' + - $ref: '../schemas.yaml#/components/schemas/AttestationSigning' + - $ref: '../schemas.yaml#/components/schemas/BlockSigning' + - $ref: '../schemas.yaml#/components/schemas/BeaconBlockSigning' + - $ref: '../schemas.yaml#/components/schemas/DepositSigning' + - $ref: '../schemas.yaml#/components/schemas/RandaoRevealSigning' + - $ref: '../schemas.yaml#/components/schemas/VoluntaryExitSigning' + - $ref: '../schemas.yaml#/components/schemas/SyncCommitteeMessageSigning' + - $ref: '../schemas.yaml#/components/schemas/SyncCommitteeSelectionProofSigning' + - $ref: '../schemas.yaml#/components/schemas/SyncCommitteeContributionAndProofSigning' + - $ref: '../schemas.yaml#/components/schemas/ValidatorRegistrationSigning' + discriminator: + propertyName: type + mapping: + AGGREGATION_SLOT: '../schemas.yaml#/components/schemas/AggregationSlotSigning' + AGGREGATE_AND_PROOF: '../schemas.yaml#/components/schemas/AggregateAndProofSigning' + AGGREGATE_AND_PROOF_V2: '../schemas.yaml#/components/schemas/AggregateAndProofSigningV2' + ATTESTATION: '../schemas.yaml#/components/schemas/AttestationSigning' + BLOCK: '../schemas.yaml#/components/schemas/BlockSigning' + BLOCK_V2: '../schemas.yaml#/components/schemas/BeaconBlockSigning' + DEPOSIT: '../schemas.yaml#/components/schemas/DepositSigning' + RANDAO_REVEAL: '../schemas.yaml#/components/schemas/RandaoRevealSigning' + VOLUNTARY_EXIT: '../schemas.yaml#/components/schemas/VoluntaryExitSigning' + SYNC_COMMITTEE_MESSAGE: '../schemas.yaml#/components/schemas/SyncCommitteeMessageSigning' + SYNC_COMMITTEE_SELECTION_PROOF: '../schemas.yaml#/components/schemas/SyncCommitteeSelectionProofSigning' + SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: '../schemas.yaml#/components/schemas/SyncCommitteeContributionAndProofSigning' + VALIDATOR_REGISTRATION: '../schemas.yaml#/components/schemas/ValidatorRegistrationSigning' + examples: + BLOCK_V2 (FULU): + value: + type: "BLOCK_V2" + signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "FULU" + block_header: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" + BLOCK_V2 (ELECTRA): + value: + type: "BLOCK_V2" + signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "ELECTRA" + block_header: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" + BLOCK_V2 (DENEB): + value: + type: "BLOCK_V2" + signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "DENEB" + block_header: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" + BLOCK_V2 (CAPELLA): + value: + type: "BLOCK_V2" + signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "CAPELLA" + block_header: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" + BLOCK_V2 (BELLATRIX): + value: + type: "BLOCK_V2" + signingRoot: "0x26d0ee0b6c2261cd6010112a024de4f3d2e1e9844d11d60b057fac344c745464" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "BELLATRIX" + block_header: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body_root: "0xe74b0fc13f19ae2077403afa03fdc155484f22d05d93eb084473951bb3a8d1ae" + BLOCK_V2 (ALTAIR): + value: + type: "BLOCK_V2" + signingRoot: "0xcd9b9a5884d4ba2a42d19570421f0625e9841e905fcca363c371ea311dd923bc" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "ALTAIR" + block: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body: + randao_reveal: "0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71" + eth1_data: + deposit_root: "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f" + deposit_count: "4658411424342975020" + block_hash: "0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379" + graffiti: "0x0000000000000000000000000000000000000000000000000000000000000000" + proposer_slashings: + - signed_header_1: + message: + slot: "4661716390776343276" + proposer_index: "4600574485989226763" + parent_root: "0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b" + state_root: "0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb" + body_root: "0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486" + signature: "0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483" + signed_header_2: + message: + slot: "4661716390776343276" + proposer_index: "4600574485989226763" + parent_root: "0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6" + state_root: "0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26" + body_root: "0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1" + signature: "0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1" + attester_slashings: + - attestation_1: + attesting_indices: + - "4585702132744102314" + - "4590659586689121994" + - "4589007099177470570" + data: + slot: "4580744678799082634" + index: "4579092195582398506" + beacon_block_root: "0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c" + source: + epoch: "533461240" + root: "0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565" + target: + epoch: "538462976" + root: "0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650" + signature: "0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc" + attestation_2: + attesting_indices: + - "4585702132744102314" + - "4590659586689121994" + - "4589007099177470570" + data: + slot: "4620404293179370891" + index: "4618751809962686763" + beacon_block_root: "0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b" + source: + epoch: "538078227" + root: "0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb" + target: + epoch: "536923980" + root: "0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5" + signature: "0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65" + attestations: + - aggregation_bits: "0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001" + data: + slot: "4605531939934246443" + index: "4610489389584298827" + beacon_block_root: "0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b" + source: + epoch: "529421377" + root: "0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2" + target: + epoch: "529806126" + root: "0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd" + signature: "0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc" + - aggregation_bits: "0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101" + data: + slot: "4544390030852162633" + index: "4542737547635478505" + beacon_block_root: "0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd" + source: + epoch: "527690007" + root: "0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8" + target: + epoch: "528074756" + root: "0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8" + signature: "0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120" + - aggregation_bits: "0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301" + data: + slot: "4529517677607038185" + index: "4574134745932346122" + beacon_block_root: "0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947" + source: + epoch: "532884117" + root: "0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31" + target: + epoch: "531729870" + root: "0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672" + signature: "0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683" + deposits: + - proof: + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + data: + pubkey: "0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d" + withdrawal_credentials: "0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c" + amount: "32000000000" + signature: "0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb" + voluntary_exits: + - message: + epoch: "4562567354825622634" + validator_index: "4564219838042306762" + signature: "0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e" + sync_aggregate: + sync_committee_bits: "0x01000000" + sync_committee_signature: "0x919ee45cc18456f6e85da6bc21c2e40f44f9a887932c73ea9ad354f88e56d4ec0a8c396ed143082c8e31d697b877a2a215d2966d91c7beb156bf7ab5777e210012f70dcd5f7657808a82cba51e194be994f917150ebdb9e5c57476f1edb47206" + BLOCK_V2 (PHASE 0): + value: + type: "BLOCK_V2" + signingRoot: "0x23181cd23aa0ce5aed8628d4efc404e173ac4b72943ddb0e60129b4884aa8a4f" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + beacon_block: + version: "PHASE0" + block: + slot: "0" + proposer_index: "4666673844721362956" + parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" + state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" + body: + randao_reveal: "0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71" + eth1_data: + deposit_root: "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f" + deposit_count: "4658411424342975020" + block_hash: "0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379" + graffiti: "0x0000000000000000000000000000000000000000000000000000000000000000" + proposer_slashings: + - signed_header_1: + message: + slot: "4661716390776343276" + proposer_index: "4600574485989226763" + parent_root: "0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b" + state_root: "0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb" + body_root: "0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486" + signature: "0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483" + signed_header_2: + message: + slot: "4661716390776343276" + proposer_index: "4600574485989226763" + parent_root: "0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6" + state_root: "0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26" + body_root: "0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1" + signature: "0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1" + attester_slashings: + - attestation_1: + attesting_indices: + - "4585702132744102314" + - "4590659586689121994" + - "4589007099177470570" + data: + slot: "4580744678799082634" + index: "4579092195582398506" + beacon_block_root: "0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c" + source: + epoch: "533461240" + root: "0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565" + target: + epoch: "538462976" + root: "0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650" + signature: "0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc" + attestation_2: + attesting_indices: + - "4585702132744102314" + - "4590659586689121994" + - "4589007099177470570" + data: + slot: "4620404293179370891" + index: "4618751809962686763" + beacon_block_root: "0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b" + source: + epoch: "538078227" + root: "0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb" + target: + epoch: "536923980" + root: "0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5" + signature: "0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65" + attestations: + - aggregation_bits: "0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001" + data: + slot: "4605531939934246443" + index: "4610489389584298827" + beacon_block_root: "0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b" + source: + epoch: "529421377" + root: "0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2" + target: + epoch: "529806126" + root: "0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd" + signature: "0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc" + - aggregation_bits: "0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101" + data: + slot: "4544390030852162633" + index: "4542737547635478505" + beacon_block_root: "0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd" + source: + epoch: "527690007" + root: "0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8" + target: + epoch: "528074756" + root: "0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8" + signature: "0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120" + - aggregation_bits: "0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301" + data: + slot: "4529517677607038185" + index: "4574134745932346122" + beacon_block_root: "0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947" + source: + epoch: "532884117" + root: "0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31" + target: + epoch: "531729870" + root: "0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672" + signature: "0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683" + deposits: + - proof: + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" + data: + pubkey: "0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d" + withdrawal_credentials: "0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c" + amount: "32000000000" + signature: "0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb" + voluntary_exits: + - message: + epoch: "4562567354825622634" + validator_index: "4564219838042306762" + signature: "0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e" + BLOCK (DEPRECATED): + value: + type: "BLOCK" + signingRoot: '0xf6ab1a0a4a712f544f99b53cb8c2c2625859a134fb5c9f1b2cb96e13dd88bd62' + fork_info: + fork: + previousVersion: '0x00000001' + currentVersion: '0x00000001' + epoch: "1" + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + block: + slot: "0" + proposerIndex: "5" + parentRoot: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' + stateRoot: '0x0000000000000000000000000000000000000000000000000000000000000000' + body: + randaoReveal: '0xa686652aed2617da83adebb8a0eceea24bb0d2ccec9cd691a902087f90db16aa5c7b03172a35e874e07e3b60c5b2435c0586b72b08dfe5aee0ed6e5a2922b956aa88ad0235b36dfaa4d2255dfeb7bed60578d982061a72c7549becab19b3c12f' + eth1Data: + depositRoot: '0x6a0f9d6cb0868daa22c365563bb113b05f7568ef9ee65fdfeb49a319eaf708cf' + depositCount: 8 + blockHash: '0x4242424242424242424242424242424242424242424242424242424242424242' + graffiti: '0x74656b752f76302e31322e31302d6465762d6338316361363235000000000000' + proposerSlashings: [ ] + attesterSlashings: [ ] + attestations: [ ] + deposits: [ ] + voluntaryExits: [ ] + ATTESTATION: + value: + type: "ATTESTATION" + signingRoot: "0x548c9a015f4c96cb8b1ddbbdfca85846f85bf9f344a434c140f378cdfb5341f0" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + attestation: + slot: "32" + index: "0" + beacon_block_root: "0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89" + + AGGREGATION_SLOT: + value: + type: 'AGGREGATION_SLOT' + signingRoot: '0x1fb90dd6e8b2670e6949347bc4eaacd37f9b6cc6e42c559973e362c800e853b9' + fork_info: + fork: + previousVersion: '0x00000001' + currentVersion: '0x00000001' + epoch: "1" + genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + aggregation_slot: + slot: "119" + AGGREGATE_AND_PROOF_V2 (FULU): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "FULU" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x0000000000000000000000000000000000000000000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + committee_bits: "0x0000000000000001" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF_V2 (ELECTRA): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "ELECTRA" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x0000000000000000000000000000000000000000000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + committee_bits: "0x0000000000000001" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF_V2 (DENEB): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "DENEB" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x00000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF_V2 (CAPELLA): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "CAPELLA" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x00000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF_V2 (BELLATRIX): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "BELLATRIX" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x00000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF_V2 (ALTAIR): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "ALTAIR" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x00000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF_V2 (PHASE 0): + value: + type: "AGGREGATE_AND_PROOF_V2" + signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + version: "PHASE0" + data: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x00000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + AGGREGATE_AND_PROOF (DEPRECATED): + value: + type: "AGGREGATE_AND_PROOF" + signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + aggregate_and_proof: + aggregator_index: "1" + aggregate: + aggregation_bits: "0x00000101" + data: + slot: "0" + index: "0" + beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + source: + epoch: "0" + root: "0x0000000000000000000000000000000000000000000000000000000000000000" + target: + epoch: "0" + root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" + signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" + selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" + + RANDAO_REVEAL: + value: + type: "RANDAO_REVEAL" + signingRoot: "0x3d047c51a8b03630781dc4c5519c17f7de87174246ff2deed0f195c6c775f91e" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + randao_reveal: + epoch: "3" + + VOLUNTARY_EXIT: + value: + type: "VOLUNTARY_EXIT" + signingRoot: "0x38e9f1cfe7926ce5366b633b7fc7113129025737394002d2637faaeefc56913d" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + voluntary_exit: + epoch: "119" + validator_index: "0" + + SYNC_COMMITTEE_MESSAGE: + value: + type: "SYNC_COMMITTEE_MESSAGE" + signingRoot: "0xa6f60df2817ea5b52eed1fefebbad746ef64c6249fc05c90c9e0f520cc75bb95" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + sync_committee_message: + beacon_block_root: "0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464" + slot: "0" + + SYNC_COMMITTEE_SELECTION_PROOF: + value: + type: "SYNC_COMMITTEE_SELECTION_PROOF" + signingRoot: "0x50d85c783ab27c1eb3f3efa914b91cb93ffd677137b15c27ba5bb548306e6963" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + sync_aggregator_selection_data: + slot: "0" + subcommittee_index: "0" + + SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: + value: + type: "SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF" + signingRoot: "0xae94702468b584a3b1c422bc1b39cc523d9175ba3b9ac1cccb699c00507cc1a5" + fork_info: + fork: + previous_version: "0x00000001" + current_version: "0x00000001" + epoch: "1" + genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" + contribution_and_proof: + aggregator_index: "11" + selection_proof: "0x8f5c34de9e22ceaa7e8d165fc0553b32f02188539e89e2cc91e2eb9077645986550d872ee3403204ae5d554eae3cac12124e18d2324bccc814775316aaef352abc0450812b3ca9fde96ecafa911b3b8bfddca8db4027f08e29c22a9c370ad933" + contribution: + slot: "0" + beacon_block_root: "0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464" + subcommittee_index: "1" + aggregation_bits: "0x24" + signature: "0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71" + + VALIDATOR_REGISTRATION: + value: + type: "VALIDATOR_REGISTRATION" + signingRoot: "0xe4d2b3dd1e23807b90af0b1768cc7de12d4353320adb486f1bdaeed6b67009ea" + validator_registration: + fee_recipient: "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a9" + gas_limit: "4658411424342975020" + timestamp: "4663368873993027404" + pubkey: "0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057" + + DEPOSIT: + value: + type: "DEPOSIT" + signingRoot: "0x3a49cdd70862ee95fed10e7494a8caa16af1be2f53612fc74dad27260bb2d711" + deposit: + pubkey: "0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057" + withdrawal_credentials: "0x39722cbbf8b91a4b9045c5e6175f1001eac32f7fcd5eccda5c6e62fc4e638508" + amount: "32" + genesis_fork_version: "0x00000001" + + responses: + '200': + description: 'hex encoded string of signature' + content: + application/json: + schema: + $ref: '../schemas.yaml#/components/schemas/SigningResponse' + text/plain: + schema: + type: string + example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' + '412': + description: 'Signing operation failed due to slashing protection rules' + '404': + description: 'Public Key not found' + '400': + description: 'Bad request format' + '500': + description: 'Internal server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/upcheck.yaml b/src/src/openapi-specs/eth2/signing/paths/upcheck.yaml new file mode 100644 index 00000000..4cfeb086 --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/paths/upcheck.yaml @@ -0,0 +1,17 @@ +get: + tags: + - 'Server Status' + summary: 'Server Status' + description: | + Checks the Web3Signer server status. Confirms if Web3Signer is connected and running. Not used by validator clients. + operationId: 'UPCHECK' + responses: + '200': + description: 'OK' + content: + text/plain; charset=utf-8: + schema: + type: string + example: 'OK' + '500': + description: 'Internal Web3Signer server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/schemas.yaml b/src/src/openapi-specs/eth2/signing/schemas.yaml new file mode 100644 index 00000000..4c33907f --- /dev/null +++ b/src/src/openapi-specs/eth2/signing/schemas.yaml @@ -0,0 +1,814 @@ +components: + schemas: + Signing: + type: "object" + properties: + fork_info: + type: object + properties: + fork: + $ref: '#/components/schemas/Fork' + description: Fork information + genesis_validators_root: + type: "string" + description: Genesis Validators Root in hex string format. + example: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' + required: + - fork + - genesis_validators_root + signingRoot: + type: "string" + description: 'signing root for optional verification if field present' + example: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' + required: + - fork_info + SigningResponse: + type: "object" + properties: + signature: + type: "string" + description: "Hex encoded string of signature" + example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' + AggregationSlotSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: "object" + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'AGGREGATION_SLOT' + aggregation_slot: + type: "object" + properties: + slot: + type: string + format: "uint64" + required: + - type + - aggregation_slot + AggregateAndProofSigning: + description: '** DEPRECATED ** See AggregateAndProofSigningV2.' + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'AGGREGATE_AND_PROOF' + aggregate_and_proof: + $ref: "#/components/schemas/AggregateAndProofPhase0" + required: + - type + - aggregate_and_proof + AggregateAndProofSigningV2: + allOf: + - $ref: '#/components/schemas/Signing' + - $ref: '#/components/schemas/AggregateAndProofRequest' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'AGGREGATE_AND_PROOF_V2' + required: + - type + AggregateAndProofRequest: + type: object + properties: + aggregate_and_proof: + oneOf: + - $ref: '#/components/schemas/AggregateAndProofRequestPhase0' + - $ref: '#/components/schemas/AggregateAndProofRequestAltair' + - $ref: '#/components/schemas/AggregateAndProofRequestBellatrix' + - $ref: '#/components/schemas/AggregateAndProofRequestCapella' + - $ref: '#/components/schemas/AggregateAndProofRequestDeneb' + - $ref: '#/components/schemas/AggregateAndProofRequestElectra' + - $ref: '#/components/schemas/AggregateAndProofRequestFulu' + discriminator: + propertyName: version + mapping: + PHASE0: '#/components/schemas/AggregateAndProofRequestPhase0' + ALTAIR: '#/components/schemas/AggregateAndProofRequestAltair' + BELLATRIX: '#/components/schemas/AggregateAndProofRequestBellatrix' + CAPELLA: '#/components/schemas/AggregateAndProofRequestCapella' + DENEB: '#/components/schemas/AggregateAndProofRequestDeneb' + ELECTRA: '#/components/schemas/AggregateAndProofRequestElectra' + FULU: '#/components/schemas/AggregateAndProofRequestFulu' + required: + - aggregate_and_proof + AggregateAndProofRequestPhase0: + type: object + properties: + version: + type: string + enum: + - PHASE0 + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofPhase0" + required: + - version + - data + AggregateAndProofRequestAltair: + type: object + properties: + version: + type: string + enum: + - ALTAIR + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofPhase0" + required: + - version + - data + AggregateAndProofRequestBellatrix: + type: object + properties: + version: + type: string + enum: + - BELLATRIX + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofPhase0" + required: + - version + - data + AggregateAndProofRequestCapella: + type: object + properties: + version: + type: string + enum: + - CAPELLA + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofPhase0" + required: + - version + - data + AggregateAndProofRequestDeneb: + type: object + properties: + version: + type: string + enum: + - DENEB + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofPhase0" + required: + - version + - data + AggregateAndProofRequestElectra: + type: object + properties: + version: + type: string + enum: + - ELECTRA + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofElectra" + required: + - version + - data + AggregateAndProofRequestFulu: + type: object + properties: + version: + type: string + enum: + - FULU + description: 'version to identify AggregateAndProof request type.' + data: + $ref: "#/components/schemas/AggregateAndProofElectra" + required: + - version + - data + AttestationSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'ATTESTATION' + attestation: + $ref: "#/components/schemas/AttestationData" + required: + - type + - attestation + BlockSigning: + description: '** DEPRECATED ** See BeaconBlockSigning.' + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'BLOCK' + block: + $ref: "#/components/schemas/BeaconBlock" + required: + - type + - block + DepositSigning: + type: object + properties: + type: + type: "string" + description: 'Signing Request type' + enum: + - 'DEPOSIT' + signingRoot: + description: 'signing root for optional verification if field present' + type: "string" + deposit: + type: object + properties: + pubkey: + type: "string" + withdrawal_credentials: + type: "string" + amount: + type: "string" + genesis_fork_version: + type: "string" + description: Bytes4 hexadecimal + required: + - type + - deposit + RandaoRevealSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'RANDAO_REVEAL' + randao_reveal: + $ref: "#/components/schemas/RandaoReveal" + required: + - type + - randao_reveal + VoluntaryExitSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'VOLUNTARY_EXIT' + voluntary_exit: + $ref: "#/components/schemas/VoluntaryExit" + required: + - type + - voluntary_exit + SyncCommitteeMessageSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'SYNC_COMMITTEE_MESSAGE' + sync_committee_message: + $ref: "#/components/schemas/SyncCommitteeMessage" + required: + - type + - sync_committee_message + SyncCommitteeSelectionProofSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'SYNC_COMMITTEE_SELECTION_PROOF' + sync_aggregator_selection_data: + $ref: "#/components/schemas/SyncAggregatorSelectionData" + required: + - type + - sync_aggregator_selection_data + SyncCommitteeContributionAndProofSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF' + contribution_and_proof: + $ref: "#/components/schemas/ContributionAndProof" + required: + - type + - contribution_and_proof + ValidatorRegistrationSigning: + allOf: + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'VALIDATOR_REGISTRATION' + signingRoot: + description: 'signing root for optional verification if field present' + type: "string" + validator_registration: + "$ref": "#/components/schemas/ValidatorRegistration" + required: + - type + - validator_registration + RandaoReveal: + type: "object" + properties: + epoch: + type: string + format: "uint64" + AttestationData: + type: "object" + properties: + slot: + type: "string" + format: "uint64" + index: + type: "string" + format: "uint64" + beacon_block_root: + type: "string" + source: + $ref: "#/components/schemas/Checkpoint" + target: + $ref: "#/components/schemas/Checkpoint" + Checkpoint: + type: "object" + properties: + epoch: + type: "string" + root: + type: "string" + Fork: + type: "object" + properties: + previous_version: + pattern: "^0x[a-fA-F0-9]{8}$" + type: "string" + description: 'Previous version of fork' + example: '0x00000001' + current_version: + pattern: "^0x[a-fA-F0-9]{8}$" + type: "string" + description: 'Current version of fork' + example: '0x00000001' + epoch: + type: "string" + description: 'Epoch value in String format' + format: "uint64" + example: '1' + BeaconBlock: + type: "object" + properties: + slot: + type: "string" + format: "uint64" + proposer_index: + type: "string" + format: "uint64" + parent_root: + type: "string" + state_root: + type: "string" + body: + $ref: "#/components/schemas/BeaconBlockBody" + BeaconBlockBody: + type: "object" + properties: + randao_reveal: + type: "string" + eth1_data: + "$ref": "#/components/schemas/Eth1Data" + graffiti: + type: "string" + description: "Bytes32 hexadecimal" + proposer_slashings: + type: "array" + items: + $ref: "#/components/schemas/ProposerSlashing" + attester_slashings: + type: "array" + items: + $ref: "#/components/schemas/AttesterSlashing" + attestations: + type: "array" + items: + $ref: "#/components/schemas/AttestationPhase0" + deposits: + type: "array" + items: + $ref: "#/components/schemas/Deposit" + voluntary_exits: + type: "array" + items: + $ref: "#/components/schemas/SignedVoluntaryExit" + Eth1Data: + type: "object" + properties: + deposit_root: + type: "string" + deposit_count: + type: "string" + format: "uint64" + block_hash: + type: "string" + ProposerSlashing: + type: "object" + properties: + signed_header_1: + "$ref": "#/components/schemas/SignedBeaconBlockHeader" + signed_header_2: + "$ref": "#/components/schemas/SignedBeaconBlockHeader" + AttesterSlashing: + type: "object" + properties: + attestation_1: + "$ref": "#/components/schemas/IndexedAttestation" + attestation_2: + "$ref": "#/components/schemas/IndexedAttestation" + AttestationPhase0: + type: "object" + properties: + aggregation_bits: + type: "string" + data: + $ref: "#/components/schemas/AttestationData" + signature: + type: "string" + AttestationElectra: + type: "object" + properties: + aggregation_bits: + type: "string" + data: + $ref: "#/components/schemas/AttestationData" + signature: + type: "string" + committee_bits: + type: "string" + Deposit: + type: "object" + properties: + proof: + type: "array" + items: + type: "string" + data: + $ref: "#/components/schemas/DepositData" + SignedVoluntaryExit: + type: "object" + properties: + message: + $ref: "#/components/schemas/VoluntaryExit" + signature: + type: "string" + SignedBeaconBlockHeader: + type: "object" + properties: + message: + $ref: "#/components/schemas/BeaconBlockHeader" + signature: + type: "string" + IndexedAttestation: + type: object + properties: + attesting_indices: + type: array + items: + type: string + format: uint64 + data: + "$ref": "#/components/schemas/AttestationData" + signature: + type: string + DepositData: + type: "object" + properties: + pubkey: + type: "string" + withdrawal_credentials: + type: "string" + amount: + type: "string" + signature: + type: "string" + VoluntaryExit: + type: object + properties: + epoch: + type: string + format: uint64 + validator_index: + type: string + format: uint64 + BeaconBlockHeader: + type: object + properties: + slot: + type: string + format: uint64 + proposer_index: + type: string + format: uint64 + parent_root: + type: string + description: Bytes32 hexadecimal + state_root: + type: string + description: Bytes32 hexadecimal + body_root: + type: string + description: Bytes32 hexadecimal + AggregateAndProofPhase0: + type: object + properties: + aggregator_index: + type: string + format: uint64 + aggregate: + "$ref": "#/components/schemas/AttestationPhase0" + selection_proof: + type: string + description: Bytes96 hexadecimal + AggregateAndProofElectra: + type: object + properties: + aggregator_index: + type: string + format: uint64 + aggregate: + "$ref": "#/components/schemas/AttestationElectra" + selection_proof: + type: string + description: Bytes96 hexadecimal + SyncCommitteeMessage: + type: object + properties: + beacon_block_root: + type: string + description: Bytes32 hexadecimal + slot: + type: string + format: uint64 + SyncAggregatorSelectionData: + type: object + properties: + slot: + type: string + format: uint64 + subcommittee_index: + type: string + format: uint64 + ContributionAndProof: + type: object + properties: + aggregator_index: + type: string + format: uint64 + selection_proof: + type: string + description: Bytes96 hexadecimal + contribution: + "$ref": "#/components/schemas/SyncCommitteeContribution" + SyncCommitteeContribution: + type: object + properties: + slot: + type: string + format: uint64 + beacon_block_root: + type: string + description: Bytes32 hexadecimal + subcommittee_index: + type: string + format: uint64 + aggregation_bits: + type: string + description: SSZ hexadecimal + signature: + type: string + description: Bytes96 hexadecimal + ValidatorRegistration: + type: object + properties: + fee_recipient: + type: string + description: Bytes20 hexadecimal + gas_limit: + type: string + format: uint64 + timestamp: + type: string + format: uint64 + pubkey: + type: string + BeaconBlockSigning: + allOf: + - $ref: '#/components/schemas/Signing' + - $ref: '#/components/schemas/BeaconBlockRequest' + - type: object + properties: + type: + type: "string" + description: Signing Request type + enum: + - 'BLOCK_V2' + required: + - type + + BeaconBlockRequest: + type: object + properties: + beacon_block: + oneOf: + - $ref: '#/components/schemas/BlockRequestPhase0' + - $ref: '#/components/schemas/BlockRequestAltair' + - $ref: '#/components/schemas/BlockRequestBellatrix' + - $ref: '#/components/schemas/BlockRequestCapella' + - $ref: '#/components/schemas/BlockRequestDeneb' + - $ref: '#/components/schemas/BlockRequestElectra' + - $ref: '#/components/schemas/BlockRequestFulu' + discriminator: + propertyName: version + mapping: + PHASE0: '#/components/schemas/BlockRequestPhase0' + ALTAIR: '#/components/schemas/BlockRequestAltair' + BELLATRIX: '#/components/schemas/BlockRequestBellatrix' + CAPELLA: '#/components/schemas/BlockRequestCapella' + DENEB: '#/components/schemas/BlockRequestDeneb' + ELECTRA: '#/components/schemas/BlockRequestElectra' + FULU: '#/components/schemas/BlockRequestFulu' + required: + - beacon_block + BlockRequestPhase0: + type: object + properties: + version: + type: string + enum: + - PHASE0 + description: 'version to identify block request type.' + block: + $ref: "#/components/schemas/BeaconBlock" + required: + - version + - block + BlockRequestAltair: + type: object + properties: + version: + type: string + enum: + - ALTAIR + description: 'version to identify block request type.' + block: + $ref: "#/components/schemas/BeaconBlockAltair" + required: + - version + - block + BlockRequestBellatrix: + type: object + properties: + version: + type: string + enum: + - BELLATRIX + description: 'version to identify block request type.' + block_header: + $ref: "#/components/schemas/BeaconBlockHeader" + required: + - version + - block_header + BlockRequestCapella: + type: object + properties: + version: + type: string + enum: + - CAPELLA + description: 'version to identify block request type.' + block_header: + $ref: "#/components/schemas/BeaconBlockHeader" + required: + - version + - block_header + BlockRequestDeneb: + type: object + properties: + version: + type: string + enum: + - DENEB + description: 'version to identify block request type.' + block_header: + $ref: "#/components/schemas/BeaconBlockHeader" + required: + - version + - block_header + BlockRequestElectra: + type: object + properties: + version: + type: string + enum: + - ELECTRA + description: 'version to identify block request type.' + block_header: + $ref: "#/components/schemas/BeaconBlockHeader" + required: + - version + - block_header + BlockRequestFulu: + type: object + properties: + version: + type: string + enum: + - FULU + description: 'version to identify block request type.' + block_header: + $ref: "#/components/schemas/BeaconBlockHeader" + required: + - version + - block_header + BeaconBlockAltair: + type: "object" + properties: + slot: + type: "string" + format: "uint64" + proposer_index: + type: "string" + format: "uint64" + parent_root: + type: "string" + state_root: + type: "string" + body: + $ref: "#/components/schemas/BeaconBlockBodyAltair" + BeaconBlockBodyAltair: + allOf: + - $ref: "#/components/schemas/BeaconBlockBody" + - type: object + properties: + sync_aggregate: + $ref: "#/components/schemas/SyncAggregate" + SyncAggregate: + type: object + properties: + sync_committee_bits: + type: string + description: SSZ hexadecimal + sync_committee_signature: + type: string + description: Bytes96 hexadecimal + HealthCheck: + type: object + properties: + status: + type: string + description: 'health status' + checks: + type: array + description: 'list of status checks' + items: + properties: + id: + type: string + description: 'status id' + status: + type: string + description: 'health status' + outcome: + type: string + description: 'the overall outcome of health check' diff --git a/src/src/openapi-specs/eth2/web3signer.yaml b/src/src/openapi-specs/eth2/web3signer.yaml new file mode 100644 index 00000000..88c82d1e --- /dev/null +++ b/src/src/openapi-specs/eth2/web3signer.yaml @@ -0,0 +1,32 @@ +openapi: 3.0.3 +info: + title: 'Web3Signer ETH2 Api' + description: 'Sign Eth2 Artifacts' + version: '2.0.0' + license: + name: 'Apache 2.0' + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' + +servers: + - url: "" + - url: http://localhost:9000 + +paths: + /api/v1/eth2/sign/{identifier}: + $ref: './signing/paths/sign.yaml' + /api/v1/eth2/publicKeys: + $ref: './signing/paths/public_keys.yaml' + /api/v1/eth2/highWatermark: + $ref: './signing/paths/high_watermark.yaml' + /reload: + $ref: './signing/paths/reload.yaml' + /upcheck: + $ref: './signing/paths/upcheck.yaml' + /healthcheck: + $ref: './signing/paths/healthcheck.yaml' + /eth/v1/keystores: + $ref: './keymanager/paths/keystores.yaml' + +externalDocs: + description: 'Web3Signer User Documentation' + url: 'https://docs.web3signer.consensys.net/' From 67d32f444663fa989222c863ce1a70972408793c Mon Sep 17 00:00:00 2001 From: bgravenorst Date: Tue, 16 Dec 2025 12:10:29 +1000 Subject: [PATCH 4/4] Delete incorrect files from buggy run. Signed-off-by: bgravenorst --- src/src/openapi-specs/eth1-bundled.yaml | 149 -- src/src/openapi-specs/eth1/web3signer.yaml | 158 -- src/src/openapi-specs/eth2-bundled.yaml | 2151 ----------------- .../eth2/keymanager/paths/keystores.yaml | 187 -- .../eth2/keymanager/schemas.yaml | 65 - .../eth2/signing/paths/healthcheck.yaml | 20 - .../eth2/signing/paths/high_watermark.yaml | 24 - .../eth2/signing/paths/public_keys.yaml | 20 - .../eth2/signing/paths/reload.yaml | 138 -- .../eth2/signing/paths/sign.yaml | 854 ------- .../eth2/signing/paths/upcheck.yaml | 17 - .../openapi-specs/eth2/signing/schemas.yaml | 814 ------- src/src/openapi-specs/eth2/web3signer.yaml | 32 - 13 files changed, 4629 deletions(-) delete mode 100644 src/src/openapi-specs/eth1-bundled.yaml delete mode 100644 src/src/openapi-specs/eth1/web3signer.yaml delete mode 100644 src/src/openapi-specs/eth2-bundled.yaml delete mode 100644 src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml delete mode 100644 src/src/openapi-specs/eth2/keymanager/schemas.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/paths/public_keys.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/paths/reload.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/paths/sign.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/paths/upcheck.yaml delete mode 100644 src/src/openapi-specs/eth2/signing/schemas.yaml delete mode 100644 src/src/openapi-specs/eth2/web3signer.yaml diff --git a/src/src/openapi-specs/eth1-bundled.yaml b/src/src/openapi-specs/eth1-bundled.yaml deleted file mode 100644 index d761933f..00000000 --- a/src/src/openapi-specs/eth1-bundled.yaml +++ /dev/null @@ -1,149 +0,0 @@ -openapi: 3.0.0 -info: - title: Web3Signer ETH1 API - description: Sign ETH1 Artifacts - version: 1.1.0 - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html -servers: - - url: '' - - url: http://localhost:9000 -externalDocs: - description: Web3Signer User Documentation - url: https://docs.web3signer.consensys.net/ -paths: - /api/v1/eth1/sign/{identifier}: - post: - tags: - - Signing - summary: Signs data for ETH1 SECP256K1 public key - description: Signs data for the ETH1 SECP256K1 public key specified as part of the URL and returns the signature - operationId: ETH1_SIGN - parameters: - - name: identifier - in: path - required: true - description: Key for which data to sign - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - data: - type: string - required: - - data - additionalProperties: - type: string - example: - data: 5.735816763073855e+30 - responses: - '200': - description: hex encoded string of signature - content: - text/plain; charset=utf-8: - schema: - type: string - example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' - '400': - description: Bad request format - '404': - description: Public Key not found - '500': - description: Internal Web3Signer server error - /api/v1/eth1/publicKeys: - get: - tags: - - Public Key - summary: List of available ETH1 SECP256K1 Public Keys - description: Returns the ETH1 SECP256K1 public keys for the private keys that have been loaded into Web3Signer - operationId: ETH1_LIST - responses: - '200': - description: list of public keys - content: - application/json: - schema: - type: array - items: - type: string - '400': - description: Bad request format - '500': - description: Internal Web3Signer server error - /reload: - post: - tags: - - Reload Signer Keys - summary: Reload signer keys asynchronously - description: Reload signer keys asynchronously - operationId: RELOAD - responses: - '200': - description: Call is successful - '500': - description: Internal Web3Signer server error - /upcheck: - get: - tags: - - Server Status - summary: Server Status - description: Web3Signer server status - operationId: UPCHECK - responses: - '200': - description: OK - content: - text/plain; charset=utf-8: - schema: - type: string - example: OK - '500': - description: Internal Web3Signer server error - /healthcheck: - get: - tags: - - Server Health Status - summary: Server Health Status - description: Web3Signer server health status - operationId: HEALTHCHECK - responses: - '200': - description: System is healthy - content: - application/json: - schema: - $ref: '#/components/schemas/HealthCheck' - '503': - description: At least one procedure is unhealthy - content: - application/json: - schema: - $ref: '#/components/schemas/HealthCheck' -components: - schemas: - HealthCheck: - type: object - properties: - status: - type: string - description: health status - checks: - type: array - description: list of status checks - items: - properties: - id: - type: string - description: status id - status: - type: string - description: health status - outcome: - type: string - description: the overall outcome of health check diff --git a/src/src/openapi-specs/eth1/web3signer.yaml b/src/src/openapi-specs/eth1/web3signer.yaml deleted file mode 100644 index a18d090a..00000000 --- a/src/src/openapi-specs/eth1/web3signer.yaml +++ /dev/null @@ -1,158 +0,0 @@ -openapi: 3.0.0 -info: - title: 'Web3Signer ETH1 API' - description: 'Sign ETH1 Artifacts' - version: '1.1.0' - license: - name: 'Apache 2.0' - url: 'http://www.apache.org/licenses/LICENSE-2.0.html' - -servers: - - url: "" - - url: http://localhost:9000 - -paths: - /api/v1/eth1/sign/{identifier}: - post: - tags: - - 'Signing' - summary: 'Signs data for ETH1 SECP256K1 public key' - description: 'Signs data for the ETH1 SECP256K1 public key specified as part of the URL and returns the signature' - operationId: 'ETH1_SIGN' - parameters: - - name: 'identifier' - in: 'path' - required: true - description: 'Key for which data to sign' - schema: - type: 'string' - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - data: - type: string - required: - - data - additionalProperties: - type: string - example: - data: 0x48656c6c6f2c20776f726c6421 - - responses: - '200': - description: 'hex encoded string of signature' - content: - text/plain; charset=utf-8: - schema: - type: string - example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' - '404': - description: 'Public Key not found' - '400': - description: 'Bad request format' - '500': - description: 'Internal Web3Signer server error' - - /api/v1/eth1/publicKeys: - get: - tags: - - 'Public Key' - summary: 'List of available ETH1 SECP256K1 Public Keys' - description: 'Returns the ETH1 SECP256K1 public keys for the private keys that have been loaded into Web3Signer' - operationId: 'ETH1_LIST' - responses: - '200': - description: 'list of public keys' - content: - application/json: - schema: - type: array - items: - type: string - '400': - description: 'Bad request format' - '500': - description: 'Internal Web3Signer server error' - - /reload: - post: - tags: - - 'Reload Signer Keys' - summary: 'Reload signer keys asynchronously' - description: 'Reload signer keys asynchronously' - operationId: 'RELOAD' - responses: - '200': - description: 'Call is successful' - '500': - description: 'Internal Web3Signer server error' - - /upcheck: - get: - tags: - - 'Server Status' - summary: 'Server Status' - description: 'Web3Signer server status' - operationId: 'UPCHECK' - responses: - '200': - description: 'OK' - content: - text/plain; charset=utf-8: - schema: - type: string - example: 'OK' - '500': - description: 'Internal Web3Signer server error' - - /healthcheck: - get: - tags: - - 'Server Health Status' - summary: 'Server Health Status' - description: 'Web3Signer server health status' - operationId: 'HEALTHCHECK' - responses: - '200': - description: 'System is healthy' - content: - application/json: - schema: - "$ref": "#/components/schemas/HealthCheck" - '503': - description: 'At least one procedure is unhealthy' - content: - application/json: - schema: - "$ref": "#/components/schemas/HealthCheck" - -components: - schemas: - HealthCheck: - type: object - properties: - status: - type: string - description: 'health status' - checks: - type: array - description: 'list of status checks' - items: - properties: - id: - type: string - description: 'status id' - status: - type: string - description: 'health status' - outcome: - type: string - description: 'the overall outcome of health check' - -externalDocs: - description: 'Web3Signer User Documentation' - url: 'https://docs.web3signer.consensys.net/' diff --git a/src/src/openapi-specs/eth2-bundled.yaml b/src/src/openapi-specs/eth2-bundled.yaml deleted file mode 100644 index 3af80f14..00000000 --- a/src/src/openapi-specs/eth2-bundled.yaml +++ /dev/null @@ -1,2151 +0,0 @@ -openapi: 3.0.3 -info: - title: Web3Signer ETH2 Api - description: Sign Eth2 Artifacts - version: 2.0.0 - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html -servers: - - url: '' - - url: http://localhost:9000 -externalDocs: - description: Web3Signer User Documentation - url: https://docs.web3signer.consensys.net/ -paths: - /api/v1/eth2/sign/{identifier}: - post: - tags: - - Signing - summary: Signs data for BLS public key - description: Signs data for the BLS public key specified as part of the URL and returns the signature - operationId: SIGN - parameters: - - name: identifier - in: path - required: true - description: BLS public key in hex format for which data to sign - schema: - type: string - example: '0x989d34725a2bfc3f15105f3f5fc8741f436c25ee1ee4f948e425d6bcb8c56bce6e06c269635b7e985a7ffa639e2409bf' - requestBody: - required: true - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/AggregationSlotSigning' - - $ref: '#/components/schemas/AggregateAndProofSigning' - - $ref: '#/components/schemas/AggregateAndProofSigningV2' - - $ref: '#/components/schemas/AttestationSigning' - - $ref: '#/components/schemas/BlockSigning' - - $ref: '#/components/schemas/BeaconBlockSigning' - - $ref: '#/components/schemas/DepositSigning' - - $ref: '#/components/schemas/RandaoRevealSigning' - - $ref: '#/components/schemas/VoluntaryExitSigning' - - $ref: '#/components/schemas/SyncCommitteeMessageSigning' - - $ref: '#/components/schemas/SyncCommitteeSelectionProofSigning' - - $ref: '#/components/schemas/SyncCommitteeContributionAndProofSigning' - - $ref: '#/components/schemas/ValidatorRegistrationSigning' - discriminator: - propertyName: type - mapping: - AGGREGATION_SLOT: '#/components/schemas/AggregationSlotSigning' - AGGREGATE_AND_PROOF: '#/components/schemas/AggregateAndProofSigning' - AGGREGATE_AND_PROOF_V2: '#/components/schemas/AggregateAndProofSigningV2' - ATTESTATION: '#/components/schemas/AttestationSigning' - BLOCK: '#/components/schemas/BlockSigning' - BLOCK_V2: '#/components/schemas/BeaconBlockSigning' - DEPOSIT: '#/components/schemas/DepositSigning' - RANDAO_REVEAL: '#/components/schemas/RandaoRevealSigning' - VOLUNTARY_EXIT: '#/components/schemas/VoluntaryExitSigning' - SYNC_COMMITTEE_MESSAGE: '#/components/schemas/SyncCommitteeMessageSigning' - SYNC_COMMITTEE_SELECTION_PROOF: '#/components/schemas/SyncCommitteeSelectionProofSigning' - SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: '#/components/schemas/SyncCommitteeContributionAndProofSigning' - VALIDATOR_REGISTRATION: '#/components/schemas/ValidatorRegistrationSigning' - examples: - BLOCK_V2 (FULU): - value: - type: BLOCK_V2 - signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: FULU - block_header: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' - BLOCK_V2 (ELECTRA): - value: - type: BLOCK_V2 - signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: ELECTRA - block_header: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' - BLOCK_V2 (DENEB): - value: - type: BLOCK_V2 - signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: DENEB - block_header: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' - BLOCK_V2 (CAPELLA): - value: - type: BLOCK_V2 - signingRoot: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: CAPELLA - block_header: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body_root: '0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b' - BLOCK_V2 (BELLATRIX): - value: - type: BLOCK_V2 - signingRoot: '0x26d0ee0b6c2261cd6010112a024de4f3d2e1e9844d11d60b057fac344c745464' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: BELLATRIX - block_header: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body_root: '0xe74b0fc13f19ae2077403afa03fdc155484f22d05d93eb084473951bb3a8d1ae' - BLOCK_V2 (ALTAIR): - value: - type: BLOCK_V2 - signingRoot: '0xcd9b9a5884d4ba2a42d19570421f0625e9841e905fcca363c371ea311dd923bc' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: ALTAIR - block: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body: - randao_reveal: '0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71' - eth1_data: - deposit_root: '0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f' - deposit_count: '4658411424342975020' - block_hash: '0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379' - graffiti: '0x0000000000000000000000000000000000000000000000000000000000000000' - proposer_slashings: - - signed_header_1: - message: - slot: '4661716390776343276' - proposer_index: '4600574485989226763' - parent_root: '0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b' - state_root: '0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb' - body_root: '0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486' - signature: '0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483' - signed_header_2: - message: - slot: '4661716390776343276' - proposer_index: '4600574485989226763' - parent_root: '0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6' - state_root: '0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26' - body_root: '0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1' - signature: '0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1' - attester_slashings: - - attestation_1: - attesting_indices: - - '4585702132744102314' - - '4590659586689121994' - - '4589007099177470570' - data: - slot: '4580744678799082634' - index: '4579092195582398506' - beacon_block_root: '0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c' - source: - epoch: '533461240' - root: '0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565' - target: - epoch: '538462976' - root: '0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650' - signature: '0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc' - attestation_2: - attesting_indices: - - '4585702132744102314' - - '4590659586689121994' - - '4589007099177470570' - data: - slot: '4620404293179370891' - index: '4618751809962686763' - beacon_block_root: '0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b' - source: - epoch: '538078227' - root: '0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb' - target: - epoch: '536923980' - root: '0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5' - signature: '0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65' - attestations: - - aggregation_bits: '0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001' - data: - slot: '4605531939934246443' - index: '4610489389584298827' - beacon_block_root: '0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b' - source: - epoch: '529421377' - root: '0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2' - target: - epoch: '529806126' - root: '0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd' - signature: '0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc' - - aggregation_bits: '0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101' - data: - slot: '4544390030852162633' - index: '4542737547635478505' - beacon_block_root: '0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd' - source: - epoch: '527690007' - root: '0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8' - target: - epoch: '528074756' - root: '0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8' - signature: '0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120' - - aggregation_bits: '0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301' - data: - slot: '4529517677607038185' - index: '4574134745932346122' - beacon_block_root: '0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947' - source: - epoch: '532884117' - root: '0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31' - target: - epoch: '531729870' - root: '0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672' - signature: '0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683' - deposits: - - proof: - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - data: - pubkey: '0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d' - withdrawal_credentials: '0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c' - amount: '32000000000' - signature: '0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb' - voluntary_exits: - - message: - epoch: '4562567354825622634' - validator_index: '4564219838042306762' - signature: '0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e' - sync_aggregate: - sync_committee_bits: '0x01000000' - sync_committee_signature: '0x919ee45cc18456f6e85da6bc21c2e40f44f9a887932c73ea9ad354f88e56d4ec0a8c396ed143082c8e31d697b877a2a215d2966d91c7beb156bf7ab5777e210012f70dcd5f7657808a82cba51e194be994f917150ebdb9e5c57476f1edb47206' - BLOCK_V2 (PHASE 0): - value: - type: BLOCK_V2 - signingRoot: '0x23181cd23aa0ce5aed8628d4efc404e173ac4b72943ddb0e60129b4884aa8a4f' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - beacon_block: - version: PHASE0 - block: - slot: '0' - proposer_index: '4666673844721362956' - parent_root: '0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef' - state_root: '0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e' - body: - randao_reveal: '0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71' - eth1_data: - deposit_root: '0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f' - deposit_count: '4658411424342975020' - block_hash: '0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379' - graffiti: '0x0000000000000000000000000000000000000000000000000000000000000000' - proposer_slashings: - - signed_header_1: - message: - slot: '4661716390776343276' - proposer_index: '4600574485989226763' - parent_root: '0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b' - state_root: '0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb' - body_root: '0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486' - signature: '0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483' - signed_header_2: - message: - slot: '4661716390776343276' - proposer_index: '4600574485989226763' - parent_root: '0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6' - state_root: '0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26' - body_root: '0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1' - signature: '0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1' - attester_slashings: - - attestation_1: - attesting_indices: - - '4585702132744102314' - - '4590659586689121994' - - '4589007099177470570' - data: - slot: '4580744678799082634' - index: '4579092195582398506' - beacon_block_root: '0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c' - source: - epoch: '533461240' - root: '0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565' - target: - epoch: '538462976' - root: '0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650' - signature: '0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc' - attestation_2: - attesting_indices: - - '4585702132744102314' - - '4590659586689121994' - - '4589007099177470570' - data: - slot: '4620404293179370891' - index: '4618751809962686763' - beacon_block_root: '0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b' - source: - epoch: '538078227' - root: '0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb' - target: - epoch: '536923980' - root: '0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5' - signature: '0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65' - attestations: - - aggregation_bits: '0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001' - data: - slot: '4605531939934246443' - index: '4610489389584298827' - beacon_block_root: '0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b' - source: - epoch: '529421377' - root: '0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2' - target: - epoch: '529806126' - root: '0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd' - signature: '0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc' - - aggregation_bits: '0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101' - data: - slot: '4544390030852162633' - index: '4542737547635478505' - beacon_block_root: '0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd' - source: - epoch: '527690007' - root: '0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8' - target: - epoch: '528074756' - root: '0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8' - signature: '0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120' - - aggregation_bits: '0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301' - data: - slot: '4529517677607038185' - index: '4574134745932346122' - beacon_block_root: '0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947' - source: - epoch: '532884117' - root: '0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31' - target: - epoch: '531729870' - root: '0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672' - signature: '0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683' - deposits: - - proof: - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - - '0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c' - data: - pubkey: '0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d' - withdrawal_credentials: '0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c' - amount: '32000000000' - signature: '0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb' - voluntary_exits: - - message: - epoch: '4562567354825622634' - validator_index: '4564219838042306762' - signature: '0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e' - BLOCK (DEPRECATED): - value: - type: BLOCK - signingRoot: '0xf6ab1a0a4a712f544f99b53cb8c2c2625859a134fb5c9f1b2cb96e13dd88bd62' - fork_info: - fork: - previousVersion: '0x00000001' - currentVersion: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - block: - slot: '0' - proposerIndex: '5' - parentRoot: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' - stateRoot: '0x0000000000000000000000000000000000000000000000000000000000000000' - body: - randaoReveal: '0xa686652aed2617da83adebb8a0eceea24bb0d2ccec9cd691a902087f90db16aa5c7b03172a35e874e07e3b60c5b2435c0586b72b08dfe5aee0ed6e5a2922b956aa88ad0235b36dfaa4d2255dfeb7bed60578d982061a72c7549becab19b3c12f' - eth1Data: - depositRoot: '0x6a0f9d6cb0868daa22c365563bb113b05f7568ef9ee65fdfeb49a319eaf708cf' - depositCount: 8 - blockHash: '0x4242424242424242424242424242424242424242424242424242424242424242' - graffiti: '0x74656b752f76302e31322e31302d6465762d6338316361363235000000000000' - proposerSlashings: [] - attesterSlashings: [] - attestations: [] - deposits: [] - voluntaryExits: [] - ATTESTATION: - value: - type: ATTESTATION - signingRoot: '0x548c9a015f4c96cb8b1ddbbdfca85846f85bf9f344a434c140f378cdfb5341f0' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - attestation: - slot: '32' - index: '0' - beacon_block_root: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' - AGGREGATION_SLOT: - value: - type: AGGREGATION_SLOT - signingRoot: '0x1fb90dd6e8b2670e6949347bc4eaacd37f9b6cc6e42c559973e362c800e853b9' - fork_info: - fork: - previousVersion: '0x00000001' - currentVersion: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregation_slot: - slot: '119' - AGGREGATE_AND_PROOF_V2 (FULU): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: FULU - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x0000000000000000000000000000000000000000000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - committee_bits: '0x0000000000000001' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF_V2 (ELECTRA): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: ELECTRA - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x0000000000000000000000000000000000000000000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - committee_bits: '0x0000000000000001' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF_V2 (DENEB): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: DENEB - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x00000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF_V2 (CAPELLA): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: CAPELLA - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x00000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF_V2 (BELLATRIX): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: BELLATRIX - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x00000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF_V2 (ALTAIR): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: ALTAIR - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x00000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF_V2 (PHASE 0): - value: - type: AGGREGATE_AND_PROOF_V2 - signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - version: PHASE0 - data: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x00000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - AGGREGATE_AND_PROOF (DEPRECATED): - value: - type: AGGREGATE_AND_PROOF - signingRoot: '0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregate_and_proof: - aggregator_index: '1' - aggregate: - aggregation_bits: '0x00000101' - data: - slot: '0' - index: '0' - beacon_block_root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - source: - epoch: '0' - root: '0x0000000000000000000000000000000000000000000000000000000000000000' - target: - epoch: '0' - root: '0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd' - signature: '0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875' - selection_proof: '0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47' - RANDAO_REVEAL: - value: - type: RANDAO_REVEAL - signingRoot: '0x3d047c51a8b03630781dc4c5519c17f7de87174246ff2deed0f195c6c775f91e' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - randao_reveal: - epoch: '3' - VOLUNTARY_EXIT: - value: - type: VOLUNTARY_EXIT - signingRoot: '0x38e9f1cfe7926ce5366b633b7fc7113129025737394002d2637faaeefc56913d' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - voluntary_exit: - epoch: '119' - validator_index: '0' - SYNC_COMMITTEE_MESSAGE: - value: - type: SYNC_COMMITTEE_MESSAGE - signingRoot: '0xa6f60df2817ea5b52eed1fefebbad746ef64c6249fc05c90c9e0f520cc75bb95' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - sync_committee_message: - beacon_block_root: '0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464' - slot: '0' - SYNC_COMMITTEE_SELECTION_PROOF: - value: - type: SYNC_COMMITTEE_SELECTION_PROOF - signingRoot: '0x50d85c783ab27c1eb3f3efa914b91cb93ffd677137b15c27ba5bb548306e6963' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - sync_aggregator_selection_data: - slot: '0' - subcommittee_index: '0' - SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: - value: - type: SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF - signingRoot: '0xae94702468b584a3b1c422bc1b39cc523d9175ba3b9ac1cccb699c00507cc1a5' - fork_info: - fork: - previous_version: '0x00000001' - current_version: '0x00000001' - epoch: '1' - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - contribution_and_proof: - aggregator_index: '11' - selection_proof: '0x8f5c34de9e22ceaa7e8d165fc0553b32f02188539e89e2cc91e2eb9077645986550d872ee3403204ae5d554eae3cac12124e18d2324bccc814775316aaef352abc0450812b3ca9fde96ecafa911b3b8bfddca8db4027f08e29c22a9c370ad933' - contribution: - slot: '0' - beacon_block_root: '0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464' - subcommittee_index: '1' - aggregation_bits: '0x24' - signature: '0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71' - VALIDATOR_REGISTRATION: - value: - type: VALIDATOR_REGISTRATION - signingRoot: '0xe4d2b3dd1e23807b90af0b1768cc7de12d4353320adb486f1bdaeed6b67009ea' - validator_registration: - fee_recipient: '0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a9' - gas_limit: '4658411424342975020' - timestamp: '4663368873993027404' - pubkey: '0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057' - DEPOSIT: - value: - type: DEPOSIT - signingRoot: '0x3a49cdd70862ee95fed10e7494a8caa16af1be2f53612fc74dad27260bb2d711' - deposit: - pubkey: '0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057' - withdrawal_credentials: '0x39722cbbf8b91a4b9045c5e6175f1001eac32f7fcd5eccda5c6e62fc4e638508' - amount: '32' - genesis_fork_version: '0x00000001' - responses: - '200': - description: hex encoded string of signature - content: - application/json: - schema: - $ref: '#/components/schemas/SigningResponse' - text/plain: - schema: - type: string - example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' - '400': - description: Bad request format - '404': - description: Public Key not found - '412': - description: Signing operation failed due to slashing protection rules - '500': - description: Internal server error - /api/v1/eth2/publicKeys: - get: - tags: - - Public Key - summary: List of available BLS Public Keys - description: Returns a hex-encoded list of BLS public keys for the private keys that have been loaded into Remote Signer. - operationId: PUBLIC_KEY_LIST - responses: - '200': - description: list of public keys - content: - application/json: - schema: - type: array - items: - type: string - example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - '400': - description: Bad request format - '500': - description: Internal server error - /api/v1/eth2/highWatermark: - get: - tags: - - High Watermark - summary: The High Watermark epoch and slot applicable to all validators - description: Returns the uint64 epoch and slot of the high watermark. Signing of attestations or blocks are only allowed when they are lower than this high watermark. If no high watermark is set, an empty JSON object will be returned. - operationId: HIGH_WATERMARK - responses: - '200': - description: high watermark - content: - application/json: - schema: - type: object - properties: - epoch: - type: string - format: uint64 - slot: - type: string - format: uint64 - '400': - description: Bad request format - '500': - description: Internal Web3Signer server error - /reload: - get: - tags: - - Reload Signer Keys - summary: Get reload operation status - description: | - Returns the current status of the reload operation. Use this to monitor background reload progress. - - The status endpoint provides visibility into: - - Whether a reload is currently in progress - - Success or failure of the last reload operation - - Number of signer loading errors encountered (if any) - - Timestamp of the last operation - operationId: RELOAD_STATUS - responses: - '200': - description: Current reload status - content: - application/json: - schema: - type: object - required: - - status - properties: - status: - type: string - enum: - - idle - - running - - completed - - completed_with_errors - - failed - description: | - Current status of reload operation: - - `idle`: No reload has been triggered yet, or system just started - - `running`: Reload operation is currently in progress - - `completed`: Last reload completed successfully with no errors - - `completed_with_errors`: Last reload completed but some signer configurations failed to load - - `failed`: Last reload failed due to infrastructure error (e.g., executor shutdown) - lastOperationTime: - type: string - format: date-time - description: Timestamp of last reload operation start/completion (ISO-8601 format). Absent if no reload has been triggered yet. - lastError: - type: string - description: | - Error or warning message from last reload operation. Present when: - - `status` is `failed`: Contains infrastructure failure details - - `status` is `completed_with_errors`: Contains count of signer loading failures - - Absent when status is `idle`, `running`, or `completed`. - examples: - idle: - summary: Initial state - no reload triggered yet - value: - status: idle - running: - summary: Reload in progress - value: - status: running - lastOperationTime: '2025-12-10T10:30:00Z' - completed: - summary: Successful reload with no errors - value: - status: completed - lastOperationTime: '2025-12-10T10:30:15Z' - completed_with_errors: - summary: Reload completed but some signers failed to load - value: - status: completed_with_errors - lastOperationTime: '2025-12-10T10:30:12Z' - lastError: Reload completed with 3 signer loading error(s) - failed: - summary: Reload failed due to infrastructure error - value: - status: failed - lastOperationTime: '2025-12-10T10:30:10Z' - lastError: 'Reload failed: Executor service unavailable' - post: - tags: - - Reload Signer Keys - summary: Reload signer keys asynchronously - description: | - Reloads signer keys asynchronously in the background. This endpoint is used after adding, removing, - or modifying keystore files to make Web3Signer aware of the changes without restarting. - - The reload operation: - - Scans all configured keystore directories and remote vaults - - Loads valid signer configurations - - Logs warnings for any invalid configurations (malformed files, invalid keys, etc.) - - Makes successfully loaded signers available for signing operations - - Returns immediately with 202 Accepted while processing continues in the background - - **Important notes:** - - Only one reload operation can run at a time (subsequent requests return 409 Conflict) - - Individual signer loading failures do not cause the entire reload to fail - - Use `GET /reload` to check status and error counts - - Successfully loaded signers are available even if some configurations fail - - **Not used by validator clients** - this is an administrative endpoint for node operators. - operationId: RELOAD - responses: - '202': - description: Reload request accepted and is running in the background - content: - application/json: - schema: - type: object - required: - - status - - message - properties: - status: - type: string - enum: - - accepted - description: Request acceptance status - message: - type: string - description: Human-readable message with instructions to check status - example: - status: accepted - message: Reload operation accepted and is running in the background. Use GET /reload to check status. - '409': - description: A reload operation is already in progress - content: - application/json: - schema: - type: object - required: - - status - - message - properties: - status: - type: string - enum: - - error - description: Error status - message: - type: string - description: Human-readable error message - example: - status: error - message: A reload operation is already in progress. Please try again later. - '500': - description: Internal Web3Signer server error - failed to initiate reload operation - /upcheck: - get: - tags: - - Server Status - summary: Server Status - description: | - Checks the Web3Signer server status. Confirms if Web3Signer is connected and running. Not used by validator clients. - operationId: UPCHECK - responses: - '200': - description: OK - content: - text/plain; charset=utf-8: - schema: - type: string - example: OK - '500': - description: Internal Web3Signer server error - /healthcheck: - get: - tags: - - Server Health Status - summary: Server Health Status - description: | - Checks the Web3Signer server health status. Confirms if Web3Signer is healthy. Not used by validator clients. - operationId: HEALTHCHECK - responses: - '200': - description: System is healthy - content: - application/json: - schema: - $ref: '#/components/schemas/HealthCheck' - '503': - description: At least one procedure is unhealthy - content: - application/json: - schema: - $ref: '#/components/schemas/HealthCheck' - /eth/v1/keystores: - get: - operationId: KEYMANAGER_LIST - summary: List Keys. - description: | - List all validating pubkeys known to and decrypted by this keymanager binary - security: - - bearerAuth: [] - tags: - - Keymanager - responses: - '200': - description: Success response - content: - application/json: - schema: - title: ListKeysResponse - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - validating_pubkey - properties: - validating_pubkey: - $ref: '#/components/schemas/Pubkey' - derivation_path: - type: string - description: The derivation path (if present in the imported keystore). - example: m/12381/3600/0/0/0 - readonly: - type: boolean - description: The key associated with this pubkey cannot be deleted from the API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '500': - $ref: '#/components/responses/InternalError' - post: - operationId: KEYMANAGER_IMPORT - summary: Import Keystores. - description: | - Import keystores generated by the Eth2.0 deposit CLI tooling. `passwords[i]` must unlock `keystores[i]`. - - Users SHOULD send slashing_protection data associated with the imported pubkeys. MUST follow the format defined in - EIP-3076: Slashing Protection Interchange Format. - security: - - bearerAuth: [] - tags: - - Keymanager - requestBody: - content: - application/json: - schema: - type: object - required: - - keystores - - passwords - properties: - keystores: - type: array - description: JSON-encoded keystore files generated with the Launchpad. - items: - $ref: '#/components/schemas/Keystore' - passwords: - type: array - description: Passwords to unlock imported keystore files. `passwords[i]` must unlock `keystores[i]`. - items: - type: string - example: ABCDEFGH01234567ABCDEFGH01234567 - slashing_protection: - $ref: '#/components/schemas/SlashingProtectionData' - responses: - '200': - description: Success response - content: - application/json: - schema: - title: ImportKeystoresResponse - type: object - required: - - data - properties: - data: - type: array - description: Status result of each `request.keystores` with same length and order of `request.keystores` - items: - type: object - required: - - status - properties: - status: - type: string - description: | - - imported: Keystore successfully decrypted and imported to keymanager permanent storage - - duplicate: Keystore's pubkey is already known to the keymanager - - error: Any other status different to the above: decrypting error, I/O errors, etc. - enum: - - imported - - duplicate - - error - example: imported - message: - type: string - description: error message if status == error - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '500': - $ref: '#/components/responses/InternalError' - delete: - operationId: KEYMANAGER_DELETE - summary: Delete Keys. - description: | - DELETE must delete all keys from `request.pubkeys` that are known to the keymanager and exist in its - persistent storage. Additionally, DELETE must fetch the slashing protection data for the requested keys from - persistent storage, which must be retained (and not deleted) after the response has been sent. Therefore in the - case of two identical delete requests being made, both will have access to slashing protection data. - - In a single atomic sequential operation the keymanager must: - 1. Guarantee that key(s) can not produce any more signature; only then - 2. Delete key(s) and serialize its associated slashing protection data - - DELETE should never return a 404 response, even if all pubkeys from request.pubkeys have no extant keystores - nor slashing protection data. - security: - - bearerAuth: [] - tags: - - Keymanager - requestBody: - content: - application/json: - schema: - type: object - required: - - pubkeys - properties: - pubkeys: - type: array - description: List of public keys to delete. - items: - $ref: '#/components/schemas/Pubkey' - responses: - '200': - description: Success response - content: - application/json: - schema: - title: DeleteKeysResponse - type: object - required: - - data - - slashing_protection - properties: - data: - type: array - description: Deletion status of all keys in `request.pubkeys` in the same order. - items: - type: object - required: - - status - properties: - status: - type: string - description: | - - deleted: key was active and removed - - not_active: slashing protection data returned but key was not active - - not_found: key was not found to be removed, and no slashing data can be returned - - error: unexpected condition meant the key could not be removed (the key was actually found, but we couldn't stop using it) - this would be a sign that making it active elsewhere would almost certainly cause you headaches / slashing conditions etc. - enum: - - deleted - - not_active - - not_found - - error - example: deleted - message: - type: string - description: error message if status == error - slashing_protection: - $ref: '#/components/schemas/SlashingProtectionData' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '500': - $ref: '#/components/responses/InternalError' -components: - schemas: - Fork: - type: object - properties: - previous_version: - pattern: ^0x[a-fA-F0-9]{8}$ - type: string - description: Previous version of fork - example: '0x00000001' - current_version: - pattern: ^0x[a-fA-F0-9]{8}$ - type: string - description: Current version of fork - example: '0x00000001' - epoch: - type: string - description: Epoch value in String format - format: uint64 - example: '1' - Signing: - type: object - properties: - fork_info: - type: object - properties: - fork: - $ref: '#/components/schemas/Fork' - description: Fork information - genesis_validators_root: - type: string - description: Genesis Validators Root in hex string format. - example: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - required: - - fork - - genesis_validators_root - signingRoot: - type: string - description: signing root for optional verification if field present - example: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' - required: - - fork_info - AggregationSlotSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - AGGREGATION_SLOT - aggregation_slot: - type: object - properties: - slot: - type: string - format: uint64 - required: - - type - - aggregation_slot - Checkpoint: - type: object - properties: - epoch: - type: string - root: - type: string - AttestationData: - type: object - properties: - slot: - type: string - format: uint64 - index: - type: string - format: uint64 - beacon_block_root: - type: string - source: - $ref: '#/components/schemas/Checkpoint' - target: - $ref: '#/components/schemas/Checkpoint' - AttestationPhase0: - type: object - properties: - aggregation_bits: - type: string - data: - $ref: '#/components/schemas/AttestationData' - signature: - type: string - AggregateAndProofPhase0: - type: object - properties: - aggregator_index: - type: string - format: uint64 - aggregate: - $ref: '#/components/schemas/AttestationPhase0' - selection_proof: - type: string - description: Bytes96 hexadecimal - AggregateAndProofSigning: - description: '** DEPRECATED ** See AggregateAndProofSigningV2.' - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - AGGREGATE_AND_PROOF - aggregate_and_proof: - $ref: '#/components/schemas/AggregateAndProofPhase0' - required: - - type - - aggregate_and_proof - AggregateAndProofRequestPhase0: - type: object - properties: - version: - type: string - enum: - - PHASE0 - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofPhase0' - required: - - version - - data - AggregateAndProofRequestAltair: - type: object - properties: - version: - type: string - enum: - - ALTAIR - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofPhase0' - required: - - version - - data - AggregateAndProofRequestBellatrix: - type: object - properties: - version: - type: string - enum: - - BELLATRIX - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofPhase0' - required: - - version - - data - AggregateAndProofRequestCapella: - type: object - properties: - version: - type: string - enum: - - CAPELLA - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofPhase0' - required: - - version - - data - AggregateAndProofRequestDeneb: - type: object - properties: - version: - type: string - enum: - - DENEB - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofPhase0' - required: - - version - - data - AttestationElectra: - type: object - properties: - aggregation_bits: - type: string - data: - $ref: '#/components/schemas/AttestationData' - signature: - type: string - committee_bits: - type: string - AggregateAndProofElectra: - type: object - properties: - aggregator_index: - type: string - format: uint64 - aggregate: - $ref: '#/components/schemas/AttestationElectra' - selection_proof: - type: string - description: Bytes96 hexadecimal - AggregateAndProofRequestElectra: - type: object - properties: - version: - type: string - enum: - - ELECTRA - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofElectra' - required: - - version - - data - AggregateAndProofRequestFulu: - type: object - properties: - version: - type: string - enum: - - FULU - description: version to identify AggregateAndProof request type. - data: - $ref: '#/components/schemas/AggregateAndProofElectra' - required: - - version - - data - AggregateAndProofRequest: - type: object - properties: - aggregate_and_proof: - oneOf: - - $ref: '#/components/schemas/AggregateAndProofRequestPhase0' - - $ref: '#/components/schemas/AggregateAndProofRequestAltair' - - $ref: '#/components/schemas/AggregateAndProofRequestBellatrix' - - $ref: '#/components/schemas/AggregateAndProofRequestCapella' - - $ref: '#/components/schemas/AggregateAndProofRequestDeneb' - - $ref: '#/components/schemas/AggregateAndProofRequestElectra' - - $ref: '#/components/schemas/AggregateAndProofRequestFulu' - discriminator: - propertyName: version - mapping: - PHASE0: '#/components/schemas/AggregateAndProofRequestPhase0' - ALTAIR: '#/components/schemas/AggregateAndProofRequestAltair' - BELLATRIX: '#/components/schemas/AggregateAndProofRequestBellatrix' - CAPELLA: '#/components/schemas/AggregateAndProofRequestCapella' - DENEB: '#/components/schemas/AggregateAndProofRequestDeneb' - ELECTRA: '#/components/schemas/AggregateAndProofRequestElectra' - FULU: '#/components/schemas/AggregateAndProofRequestFulu' - required: - - aggregate_and_proof - AggregateAndProofSigningV2: - allOf: - - $ref: '#/components/schemas/Signing' - - $ref: '#/components/schemas/AggregateAndProofRequest' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - AGGREGATE_AND_PROOF_V2 - required: - - type - AttestationSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - ATTESTATION - attestation: - $ref: '#/components/schemas/AttestationData' - required: - - type - - attestation - Eth1Data: - type: object - properties: - deposit_root: - type: string - deposit_count: - type: string - format: uint64 - block_hash: - type: string - BeaconBlockHeader: - type: object - properties: - slot: - type: string - format: uint64 - proposer_index: - type: string - format: uint64 - parent_root: - type: string - description: Bytes32 hexadecimal - state_root: - type: string - description: Bytes32 hexadecimal - body_root: - type: string - description: Bytes32 hexadecimal - SignedBeaconBlockHeader: - type: object - properties: - message: - $ref: '#/components/schemas/BeaconBlockHeader' - signature: - type: string - ProposerSlashing: - type: object - properties: - signed_header_1: - $ref: '#/components/schemas/SignedBeaconBlockHeader' - signed_header_2: - $ref: '#/components/schemas/SignedBeaconBlockHeader' - IndexedAttestation: - type: object - properties: - attesting_indices: - type: array - items: - type: string - format: uint64 - data: - $ref: '#/components/schemas/AttestationData' - signature: - type: string - AttesterSlashing: - type: object - properties: - attestation_1: - $ref: '#/components/schemas/IndexedAttestation' - attestation_2: - $ref: '#/components/schemas/IndexedAttestation' - DepositData: - type: object - properties: - pubkey: - type: string - withdrawal_credentials: - type: string - amount: - type: string - signature: - type: string - Deposit: - type: object - properties: - proof: - type: array - items: - type: string - data: - $ref: '#/components/schemas/DepositData' - VoluntaryExit: - type: object - properties: - epoch: - type: string - format: uint64 - validator_index: - type: string - format: uint64 - SignedVoluntaryExit: - type: object - properties: - message: - $ref: '#/components/schemas/VoluntaryExit' - signature: - type: string - BeaconBlockBody: - type: object - properties: - randao_reveal: - type: string - eth1_data: - $ref: '#/components/schemas/Eth1Data' - graffiti: - type: string - description: Bytes32 hexadecimal - proposer_slashings: - type: array - items: - $ref: '#/components/schemas/ProposerSlashing' - attester_slashings: - type: array - items: - $ref: '#/components/schemas/AttesterSlashing' - attestations: - type: array - items: - $ref: '#/components/schemas/AttestationPhase0' - deposits: - type: array - items: - $ref: '#/components/schemas/Deposit' - voluntary_exits: - type: array - items: - $ref: '#/components/schemas/SignedVoluntaryExit' - BeaconBlock: - type: object - properties: - slot: - type: string - format: uint64 - proposer_index: - type: string - format: uint64 - parent_root: - type: string - state_root: - type: string - body: - $ref: '#/components/schemas/BeaconBlockBody' - BlockSigning: - description: '** DEPRECATED ** See BeaconBlockSigning.' - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - BLOCK - block: - $ref: '#/components/schemas/BeaconBlock' - required: - - type - - block - BlockRequestPhase0: - type: object - properties: - version: - type: string - enum: - - PHASE0 - description: version to identify block request type. - block: - $ref: '#/components/schemas/BeaconBlock' - required: - - version - - block - SyncAggregate: - type: object - properties: - sync_committee_bits: - type: string - description: SSZ hexadecimal - sync_committee_signature: - type: string - description: Bytes96 hexadecimal - BeaconBlockBodyAltair: - allOf: - - $ref: '#/components/schemas/BeaconBlockBody' - - type: object - properties: - sync_aggregate: - $ref: '#/components/schemas/SyncAggregate' - BeaconBlockAltair: - type: object - properties: - slot: - type: string - format: uint64 - proposer_index: - type: string - format: uint64 - parent_root: - type: string - state_root: - type: string - body: - $ref: '#/components/schemas/BeaconBlockBodyAltair' - BlockRequestAltair: - type: object - properties: - version: - type: string - enum: - - ALTAIR - description: version to identify block request type. - block: - $ref: '#/components/schemas/BeaconBlockAltair' - required: - - version - - block - BlockRequestBellatrix: - type: object - properties: - version: - type: string - enum: - - BELLATRIX - description: version to identify block request type. - block_header: - $ref: '#/components/schemas/BeaconBlockHeader' - required: - - version - - block_header - BlockRequestCapella: - type: object - properties: - version: - type: string - enum: - - CAPELLA - description: version to identify block request type. - block_header: - $ref: '#/components/schemas/BeaconBlockHeader' - required: - - version - - block_header - BlockRequestDeneb: - type: object - properties: - version: - type: string - enum: - - DENEB - description: version to identify block request type. - block_header: - $ref: '#/components/schemas/BeaconBlockHeader' - required: - - version - - block_header - BlockRequestElectra: - type: object - properties: - version: - type: string - enum: - - ELECTRA - description: version to identify block request type. - block_header: - $ref: '#/components/schemas/BeaconBlockHeader' - required: - - version - - block_header - BlockRequestFulu: - type: object - properties: - version: - type: string - enum: - - FULU - description: version to identify block request type. - block_header: - $ref: '#/components/schemas/BeaconBlockHeader' - required: - - version - - block_header - BeaconBlockRequest: - type: object - properties: - beacon_block: - oneOf: - - $ref: '#/components/schemas/BlockRequestPhase0' - - $ref: '#/components/schemas/BlockRequestAltair' - - $ref: '#/components/schemas/BlockRequestBellatrix' - - $ref: '#/components/schemas/BlockRequestCapella' - - $ref: '#/components/schemas/BlockRequestDeneb' - - $ref: '#/components/schemas/BlockRequestElectra' - - $ref: '#/components/schemas/BlockRequestFulu' - discriminator: - propertyName: version - mapping: - PHASE0: '#/components/schemas/BlockRequestPhase0' - ALTAIR: '#/components/schemas/BlockRequestAltair' - BELLATRIX: '#/components/schemas/BlockRequestBellatrix' - CAPELLA: '#/components/schemas/BlockRequestCapella' - DENEB: '#/components/schemas/BlockRequestDeneb' - ELECTRA: '#/components/schemas/BlockRequestElectra' - FULU: '#/components/schemas/BlockRequestFulu' - required: - - beacon_block - BeaconBlockSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - $ref: '#/components/schemas/BeaconBlockRequest' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - BLOCK_V2 - required: - - type - DepositSigning: - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - DEPOSIT - signingRoot: - description: signing root for optional verification if field present - type: string - deposit: - type: object - properties: - pubkey: - type: string - withdrawal_credentials: - type: string - amount: - type: string - genesis_fork_version: - type: string - description: Bytes4 hexadecimal - required: - - type - - deposit - RandaoReveal: - type: object - properties: - epoch: - type: string - format: uint64 - RandaoRevealSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - RANDAO_REVEAL - randao_reveal: - $ref: '#/components/schemas/RandaoReveal' - required: - - type - - randao_reveal - VoluntaryExitSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - VOLUNTARY_EXIT - voluntary_exit: - $ref: '#/components/schemas/VoluntaryExit' - required: - - type - - voluntary_exit - SyncCommitteeMessage: - type: object - properties: - beacon_block_root: - type: string - description: Bytes32 hexadecimal - slot: - type: string - format: uint64 - SyncCommitteeMessageSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - SYNC_COMMITTEE_MESSAGE - sync_committee_message: - $ref: '#/components/schemas/SyncCommitteeMessage' - required: - - type - - sync_committee_message - SyncAggregatorSelectionData: - type: object - properties: - slot: - type: string - format: uint64 - subcommittee_index: - type: string - format: uint64 - SyncCommitteeSelectionProofSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - SYNC_COMMITTEE_SELECTION_PROOF - sync_aggregator_selection_data: - $ref: '#/components/schemas/SyncAggregatorSelectionData' - required: - - type - - sync_aggregator_selection_data - SyncCommitteeContribution: - type: object - properties: - slot: - type: string - format: uint64 - beacon_block_root: - type: string - description: Bytes32 hexadecimal - subcommittee_index: - type: string - format: uint64 - aggregation_bits: - type: string - description: SSZ hexadecimal - signature: - type: string - description: Bytes96 hexadecimal - ContributionAndProof: - type: object - properties: - aggregator_index: - type: string - format: uint64 - selection_proof: - type: string - description: Bytes96 hexadecimal - contribution: - $ref: '#/components/schemas/SyncCommitteeContribution' - SyncCommitteeContributionAndProofSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF - contribution_and_proof: - $ref: '#/components/schemas/ContributionAndProof' - required: - - type - - contribution_and_proof - ValidatorRegistration: - type: object - properties: - fee_recipient: - type: string - description: Bytes20 hexadecimal - gas_limit: - type: string - format: uint64 - timestamp: - type: string - format: uint64 - pubkey: - type: string - ValidatorRegistrationSigning: - allOf: - - type: object - properties: - type: - type: string - description: Signing Request type - enum: - - VALIDATOR_REGISTRATION - signingRoot: - description: signing root for optional verification if field present - type: string - validator_registration: - $ref: '#/components/schemas/ValidatorRegistration' - required: - - type - - validator_registration - SigningResponse: - type: object - properties: - signature: - type: string - description: Hex encoded string of signature - example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' - HealthCheck: - type: object - properties: - status: - type: string - description: health status - checks: - type: array - description: list of status checks - items: - properties: - id: - type: string - description: status id - status: - type: string - description: health status - outcome: - type: string - description: the overall outcome of health check - Pubkey: - type: string - pattern: ^0x[a-fA-F0-9]{96}$ - description: | - The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ - example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - ErrorResponse: - type: object - required: - - message - properties: - message: - description: Detailed error message - type: string - example: description of the error that occurred - Keystore: - type: string - description: | - JSON serialized representation of a single keystore in EIP-2335: BLS12-381 Keystore format. - example: '{"version":4,"uuid":"9f75a3fa-1e5a-49f9-be3d-f5a19779c6fa","path":"m/12381/3600/0/0/0","pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","crypto":{"kdf":{"function":"pbkdf2","params":{"dklen":32,"c":262144,"prf":"hmac-sha256","salt":"8ff8f22ef522a40f99c6ce07fdcfc1db489d54dfbc6ec35613edf5d836fa1407"},"message":""},"checksum":{"function":"sha256","params":{},"message":"9678a69833d2576e3461dd5fa80f6ac73935ae30d69d07659a709b3cd3eddbe3"},"cipher":{"function":"aes-128-ctr","params":{"iv":"31b69f0ac97261e44141b26aa0da693f"},"message":"e8228bafec4fcbaca3b827e586daad381d53339155b034e5eaae676b715ab05e"}}}' - SlashingProtectionData: - type: string - description: | - JSON serialized representation of the slash protection data in format defined in EIP-3076: Slashing Protection Interchange Format. - example: '{"metadata":{"interchange_format_version":"5","genesis_validators_root":"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"},"data":[{"pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","signed_blocks":[],"signed_attestations":[]}]}' - responses: - Unauthorized: - description: Unauthorized, no token is found - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - Forbidden: - description: Forbidden, a token is found but is invalid - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - InternalError: - description: Internal server error. The server encountered an unexpected error indicative of a serious fault in the system, or a bug. - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - BadRequest: - description: Bad request. Request was malformed and could not be processed - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' diff --git a/src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml b/src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml deleted file mode 100644 index eb1959ef..00000000 --- a/src/src/openapi-specs/eth2/keymanager/paths/keystores.yaml +++ /dev/null @@ -1,187 +0,0 @@ -get: - operationId: KEYMANAGER_LIST - summary: List Keys. - description: | - List all validating pubkeys known to and decrypted by this keymanager binary - security: - - bearerAuth: [] - tags: - - Keymanager - responses: - "200": - description: Success response - content: - application/json: - schema: - title: ListKeysResponse - type: object - required: [data] - properties: - data: - type: array - items: - type: object - required: [validating_pubkey] - properties: - validating_pubkey: - $ref: "../schemas.yaml#/components/schemas/Pubkey" - derivation_path: - type: string - description: The derivation path (if present in the imported keystore). - example: "m/12381/3600/0/0/0" - readonly: - type: boolean - description: The key associated with this pubkey cannot be deleted from the API - "401": - $ref: "../schemas.yaml#/components/responses/Unauthorized" - "403": - $ref: "../schemas.yaml#/components/responses/Forbidden" - "500": - $ref: "../schemas.yaml#/components/responses/InternalError" - -post: - operationId: KEYMANAGER_IMPORT - summary: Import Keystores. - description: | - Import keystores generated by the Eth2.0 deposit CLI tooling. `passwords[i]` must unlock `keystores[i]`. - - Users SHOULD send slashing_protection data associated with the imported pubkeys. MUST follow the format defined in - EIP-3076: Slashing Protection Interchange Format. - security: - - bearerAuth: [] - tags: - - Keymanager - requestBody: - content: - application/json: - schema: - type: object - required: [keystores, passwords] - properties: - keystores: - type: array - description: JSON-encoded keystore files generated with the Launchpad. - items: - $ref: "../schemas.yaml#/components/schemas/Keystore" - passwords: - type: array - description: Passwords to unlock imported keystore files. `passwords[i]` must unlock `keystores[i]`. - items: - type: string - example: "ABCDEFGH01234567ABCDEFGH01234567" - slashing_protection: - $ref: "../schemas.yaml#/components/schemas/SlashingProtectionData" - responses: - "200": - description: Success response - content: - application/json: - schema: - title: ImportKeystoresResponse - type: object - required: [data] - properties: - data: - type: array - description: Status result of each `request.keystores` with same length and order of `request.keystores` - items: - type: object - required: [status] - properties: - status: - type: string - description: | - - imported: Keystore successfully decrypted and imported to keymanager permanent storage - - duplicate: Keystore's pubkey is already known to the keymanager - - error: Any other status different to the above: decrypting error, I/O errors, etc. - enum: - - imported - - duplicate - - error - example: imported - message: - type: string - description: error message if status == error - "400": - $ref: "../schemas.yaml#/components/responses/BadRequest" - "401": - $ref: "../schemas.yaml#/components/responses/Unauthorized" - "403": - $ref: "../schemas.yaml#/components/responses/Forbidden" - "500": - $ref: "../schemas.yaml#/components/responses/InternalError" - -delete: - operationId: KEYMANAGER_DELETE - summary: Delete Keys. - description: | - DELETE must delete all keys from `request.pubkeys` that are known to the keymanager and exist in its - persistent storage. Additionally, DELETE must fetch the slashing protection data for the requested keys from - persistent storage, which must be retained (and not deleted) after the response has been sent. Therefore in the - case of two identical delete requests being made, both will have access to slashing protection data. - - In a single atomic sequential operation the keymanager must: - 1. Guarantee that key(s) can not produce any more signature; only then - 2. Delete key(s) and serialize its associated slashing protection data - - DELETE should never return a 404 response, even if all pubkeys from request.pubkeys have no extant keystores - nor slashing protection data. - security: - - bearerAuth: [] - tags: - - Keymanager - requestBody: - content: - application/json: - schema: - type: object - required: [pubkeys] - properties: - pubkeys: - type: array - description: List of public keys to delete. - items: - $ref: "../schemas.yaml#/components/schemas/Pubkey" - responses: - "200": - description: Success response - content: - application/json: - schema: - title: DeleteKeysResponse - type: object - required: [data, slashing_protection] - properties: - data: - type: array - description: Deletion status of all keys in `request.pubkeys` in the same order. - items: - type: object - required: [status] - properties: - status: - type: string - description: | - - deleted: key was active and removed - - not_active: slashing protection data returned but key was not active - - not_found: key was not found to be removed, and no slashing data can be returned - - error: unexpected condition meant the key could not be removed (the key was actually found, but we couldn't stop using it) - this would be a sign that making it active elsewhere would almost certainly cause you headaches / slashing conditions etc. - enum: - - deleted - - not_active - - not_found - - error - example: deleted - message: - type: string - description: error message if status == error - slashing_protection: - $ref: "../schemas.yaml#/components/schemas/SlashingProtectionData" - "400": - $ref: "../schemas.yaml#/components/responses/BadRequest" - "401": - $ref: "../schemas.yaml#/components/responses/Unauthorized" - "403": - $ref: "../schemas.yaml#/components/responses/Forbidden" - "500": - $ref: "../schemas.yaml#/components/responses/InternalError" diff --git a/src/src/openapi-specs/eth2/keymanager/schemas.yaml b/src/src/openapi-specs/eth2/keymanager/schemas.yaml deleted file mode 100644 index 43d4f083..00000000 --- a/src/src/openapi-specs/eth2/keymanager/schemas.yaml +++ /dev/null @@ -1,65 +0,0 @@ -components: - securitySchemes: - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - - schemas: - Pubkey: - type: string - pattern: "^0x[a-fA-F0-9]{96}$" - description: | - The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ - example: "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a" - - Keystore: - type: string - description: | - JSON serialized representation of a single keystore in EIP-2335: BLS12-381 Keystore format. - example: '{"version":4,"uuid":"9f75a3fa-1e5a-49f9-be3d-f5a19779c6fa","path":"m/12381/3600/0/0/0","pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","crypto":{"kdf":{"function":"pbkdf2","params":{"dklen":32,"c":262144,"prf":"hmac-sha256","salt":"8ff8f22ef522a40f99c6ce07fdcfc1db489d54dfbc6ec35613edf5d836fa1407"},"message":""},"checksum":{"function":"sha256","params":{},"message":"9678a69833d2576e3461dd5fa80f6ac73935ae30d69d07659a709b3cd3eddbe3"},"cipher":{"function":"aes-128-ctr","params":{"iv":"31b69f0ac97261e44141b26aa0da693f"},"message":"e8228bafec4fcbaca3b827e586daad381d53339155b034e5eaae676b715ab05e"}}}' - - SlashingProtectionData: - type: string - description: | - JSON serialized representation of the slash protection data in format defined in EIP-3076: Slashing Protection Interchange Format. - example: '{"metadata":{"interchange_format_version":"5","genesis_validators_root":"0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"},"data":[{"pubkey":"0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a","signed_blocks":[],"signed_attestations":[]}]}' - - ErrorResponse: - type: object - required: [message] - properties: - message: - description: "Detailed error message" - type: string - example: "description of the error that occurred" - - responses: - BadRequest: - description: "Bad request. Request was malformed and could not be processed" - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorResponse" - - Unauthorized: - description: "Unauthorized, no token is found" - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorResponse" - - Forbidden: - description: "Forbidden, a token is found but is invalid" - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorResponse" - - InternalError: - description: "Internal server error. The server encountered an unexpected error indicative of - a serious fault in the system, or a bug." - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorResponse" \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml b/src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml deleted file mode 100644 index ca90d2b9..00000000 --- a/src/src/openapi-specs/eth2/signing/paths/healthcheck.yaml +++ /dev/null @@ -1,20 +0,0 @@ -get: - tags: - - 'Server Health Status' - summary: 'Server Health Status' - description: | - Checks the Web3Signer server health status. Confirms if Web3Signer is healthy. Not used by validator clients. - operationId: 'HEALTHCHECK' - responses: - '200': - description: 'System is healthy' - content: - application/json: - schema: - "$ref": "../schemas.yaml#/components/schemas/HealthCheck" - '503': - description: 'At least one procedure is unhealthy' - content: - application/json: - schema: - "$ref": "../schemas.yaml#/components/schemas/HealthCheck" \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml b/src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml deleted file mode 100644 index dba0d131..00000000 --- a/src/src/openapi-specs/eth2/signing/paths/high_watermark.yaml +++ /dev/null @@ -1,24 +0,0 @@ -get: - tags: - - 'High Watermark' - summary: 'The High Watermark epoch and slot applicable to all validators' - description: 'Returns the uint64 epoch and slot of the high watermark. Signing of attestations or blocks are only allowed when they are lower than this high watermark. If no high watermark is set, an empty JSON object will be returned.' - operationId: 'HIGH_WATERMARK' - responses: - '200': - description: 'high watermark' - content: - application/json: - schema: - type: "object" - properties: - epoch: - type: "string" - format: "uint64" - slot: - type: "string" - format: "uint64" - '400': - description: 'Bad request format' - '500': - description: 'Internal Web3Signer server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/public_keys.yaml b/src/src/openapi-specs/eth2/signing/paths/public_keys.yaml deleted file mode 100644 index 59f38d10..00000000 --- a/src/src/openapi-specs/eth2/signing/paths/public_keys.yaml +++ /dev/null @@ -1,20 +0,0 @@ -get: - tags: - - 'Public Key' - summary: 'List of available BLS Public Keys' - description: 'Returns a hex-encoded list of BLS public keys for the private keys that have been loaded into Remote Signer.' - operationId: 'PUBLIC_KEY_LIST' - responses: - '200': - description: 'list of public keys' - content: - application/json: - schema: - type: array - items: - type: string - example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - '400': - description: 'Bad request format' - '500': - description: 'Internal server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/reload.yaml b/src/src/openapi-specs/eth2/signing/paths/reload.yaml deleted file mode 100644 index d18ff480..00000000 --- a/src/src/openapi-specs/eth2/signing/paths/reload.yaml +++ /dev/null @@ -1,138 +0,0 @@ -get: - tags: - - 'Reload Signer Keys' - summary: 'Get reload operation status' - description: | - Returns the current status of the reload operation. Use this to monitor background reload progress. - - The status endpoint provides visibility into: - - Whether a reload is currently in progress - - Success or failure of the last reload operation - - Number of signer loading errors encountered (if any) - - Timestamp of the last operation - operationId: 'RELOAD_STATUS' - responses: - '200': - description: 'Current reload status' - content: - application/json: - schema: - type: object - required: - - status - properties: - status: - type: string - enum: ['idle', 'running', 'completed', 'completed_with_errors', 'failed'] - description: | - Current status of reload operation: - - `idle`: No reload has been triggered yet, or system just started - - `running`: Reload operation is currently in progress - - `completed`: Last reload completed successfully with no errors - - `completed_with_errors`: Last reload completed but some signer configurations failed to load - - `failed`: Last reload failed due to infrastructure error (e.g., executor shutdown) - lastOperationTime: - type: string - format: date-time - description: 'Timestamp of last reload operation start/completion (ISO-8601 format). Absent if no reload has been triggered yet.' - lastError: - type: string - description: | - Error or warning message from last reload operation. Present when: - - `status` is `failed`: Contains infrastructure failure details - - `status` is `completed_with_errors`: Contains count of signer loading failures - - Absent when status is `idle`, `running`, or `completed`. - examples: - idle: - summary: 'Initial state - no reload triggered yet' - value: - status: 'idle' - running: - summary: 'Reload in progress' - value: - status: 'running' - lastOperationTime: '2025-12-10T10:30:00Z' - completed: - summary: 'Successful reload with no errors' - value: - status: 'completed' - lastOperationTime: '2025-12-10T10:30:15Z' - completed_with_errors: - summary: 'Reload completed but some signers failed to load' - value: - status: 'completed_with_errors' - lastOperationTime: '2025-12-10T10:30:12Z' - lastError: 'Reload completed with 3 signer loading error(s)' - failed: - summary: 'Reload failed due to infrastructure error' - value: - status: 'failed' - lastOperationTime: '2025-12-10T10:30:10Z' - lastError: 'Reload failed: Executor service unavailable' -post: - tags: - - 'Reload Signer Keys' - summary: 'Reload signer keys asynchronously' - description: | - Reloads signer keys asynchronously in the background. This endpoint is used after adding, removing, - or modifying keystore files to make Web3Signer aware of the changes without restarting. - - The reload operation: - - Scans all configured keystore directories and remote vaults - - Loads valid signer configurations - - Logs warnings for any invalid configurations (malformed files, invalid keys, etc.) - - Makes successfully loaded signers available for signing operations - - Returns immediately with 202 Accepted while processing continues in the background - - **Important notes:** - - Only one reload operation can run at a time (subsequent requests return 409 Conflict) - - Individual signer loading failures do not cause the entire reload to fail - - Use `GET /reload` to check status and error counts - - Successfully loaded signers are available even if some configurations fail - - **Not used by validator clients** - this is an administrative endpoint for node operators. - operationId: 'RELOAD' - responses: - '202': - description: 'Reload request accepted and is running in the background' - content: - application/json: - schema: - type: object - required: - - status - - message - properties: - status: - type: string - enum: ['accepted'] - description: 'Request acceptance status' - message: - type: string - description: 'Human-readable message with instructions to check status' - example: - status: 'accepted' - message: 'Reload operation accepted and is running in the background. Use GET /reload to check status.' - '409': - description: 'A reload operation is already in progress' - content: - application/json: - schema: - type: object - required: - - status - - message - properties: - status: - type: string - enum: ['error'] - description: 'Error status' - message: - type: string - description: 'Human-readable error message' - example: - status: 'error' - message: 'A reload operation is already in progress. Please try again later.' - '500': - description: 'Internal Web3Signer server error - failed to initiate reload operation' diff --git a/src/src/openapi-specs/eth2/signing/paths/sign.yaml b/src/src/openapi-specs/eth2/signing/paths/sign.yaml deleted file mode 100644 index 58c9f0d8..00000000 --- a/src/src/openapi-specs/eth2/signing/paths/sign.yaml +++ /dev/null @@ -1,854 +0,0 @@ -post: - tags: - - 'Signing' - summary: 'Signs data for BLS public key' - description: 'Signs data for the BLS public key specified as part of the URL and returns the signature' - operationId: 'SIGN' - parameters: - - name: 'identifier' - in: 'path' - required: true - description: 'BLS public key in hex format for which data to sign' - schema: - type: 'string' - example: '0x989d34725a2bfc3f15105f3f5fc8741f436c25ee1ee4f948e425d6bcb8c56bce6e06c269635b7e985a7ffa639e2409bf' - requestBody: - required: true - content: - application/json: - schema: - oneOf: - - $ref: '../schemas.yaml#/components/schemas/AggregationSlotSigning' - - $ref: '../schemas.yaml#/components/schemas/AggregateAndProofSigning' - - $ref: '../schemas.yaml#/components/schemas/AggregateAndProofSigningV2' - - $ref: '../schemas.yaml#/components/schemas/AttestationSigning' - - $ref: '../schemas.yaml#/components/schemas/BlockSigning' - - $ref: '../schemas.yaml#/components/schemas/BeaconBlockSigning' - - $ref: '../schemas.yaml#/components/schemas/DepositSigning' - - $ref: '../schemas.yaml#/components/schemas/RandaoRevealSigning' - - $ref: '../schemas.yaml#/components/schemas/VoluntaryExitSigning' - - $ref: '../schemas.yaml#/components/schemas/SyncCommitteeMessageSigning' - - $ref: '../schemas.yaml#/components/schemas/SyncCommitteeSelectionProofSigning' - - $ref: '../schemas.yaml#/components/schemas/SyncCommitteeContributionAndProofSigning' - - $ref: '../schemas.yaml#/components/schemas/ValidatorRegistrationSigning' - discriminator: - propertyName: type - mapping: - AGGREGATION_SLOT: '../schemas.yaml#/components/schemas/AggregationSlotSigning' - AGGREGATE_AND_PROOF: '../schemas.yaml#/components/schemas/AggregateAndProofSigning' - AGGREGATE_AND_PROOF_V2: '../schemas.yaml#/components/schemas/AggregateAndProofSigningV2' - ATTESTATION: '../schemas.yaml#/components/schemas/AttestationSigning' - BLOCK: '../schemas.yaml#/components/schemas/BlockSigning' - BLOCK_V2: '../schemas.yaml#/components/schemas/BeaconBlockSigning' - DEPOSIT: '../schemas.yaml#/components/schemas/DepositSigning' - RANDAO_REVEAL: '../schemas.yaml#/components/schemas/RandaoRevealSigning' - VOLUNTARY_EXIT: '../schemas.yaml#/components/schemas/VoluntaryExitSigning' - SYNC_COMMITTEE_MESSAGE: '../schemas.yaml#/components/schemas/SyncCommitteeMessageSigning' - SYNC_COMMITTEE_SELECTION_PROOF: '../schemas.yaml#/components/schemas/SyncCommitteeSelectionProofSigning' - SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: '../schemas.yaml#/components/schemas/SyncCommitteeContributionAndProofSigning' - VALIDATOR_REGISTRATION: '../schemas.yaml#/components/schemas/ValidatorRegistrationSigning' - examples: - BLOCK_V2 (FULU): - value: - type: "BLOCK_V2" - signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "FULU" - block_header: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" - BLOCK_V2 (ELECTRA): - value: - type: "BLOCK_V2" - signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "ELECTRA" - block_header: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" - BLOCK_V2 (DENEB): - value: - type: "BLOCK_V2" - signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "DENEB" - block_header: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" - BLOCK_V2 (CAPELLA): - value: - type: "BLOCK_V2" - signingRoot: "0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "CAPELLA" - block_header: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body_root: "0xa759d8029a69d4fdd8b3996086e9722983977e4efc1f12f4098ea3d93e868a6b" - BLOCK_V2 (BELLATRIX): - value: - type: "BLOCK_V2" - signingRoot: "0x26d0ee0b6c2261cd6010112a024de4f3d2e1e9844d11d60b057fac344c745464" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "BELLATRIX" - block_header: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body_root: "0xe74b0fc13f19ae2077403afa03fdc155484f22d05d93eb084473951bb3a8d1ae" - BLOCK_V2 (ALTAIR): - value: - type: "BLOCK_V2" - signingRoot: "0xcd9b9a5884d4ba2a42d19570421f0625e9841e905fcca363c371ea311dd923bc" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "ALTAIR" - block: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body: - randao_reveal: "0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71" - eth1_data: - deposit_root: "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f" - deposit_count: "4658411424342975020" - block_hash: "0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379" - graffiti: "0x0000000000000000000000000000000000000000000000000000000000000000" - proposer_slashings: - - signed_header_1: - message: - slot: "4661716390776343276" - proposer_index: "4600574485989226763" - parent_root: "0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b" - state_root: "0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb" - body_root: "0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486" - signature: "0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483" - signed_header_2: - message: - slot: "4661716390776343276" - proposer_index: "4600574485989226763" - parent_root: "0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6" - state_root: "0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26" - body_root: "0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1" - signature: "0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1" - attester_slashings: - - attestation_1: - attesting_indices: - - "4585702132744102314" - - "4590659586689121994" - - "4589007099177470570" - data: - slot: "4580744678799082634" - index: "4579092195582398506" - beacon_block_root: "0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c" - source: - epoch: "533461240" - root: "0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565" - target: - epoch: "538462976" - root: "0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650" - signature: "0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc" - attestation_2: - attesting_indices: - - "4585702132744102314" - - "4590659586689121994" - - "4589007099177470570" - data: - slot: "4620404293179370891" - index: "4618751809962686763" - beacon_block_root: "0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b" - source: - epoch: "538078227" - root: "0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb" - target: - epoch: "536923980" - root: "0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5" - signature: "0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65" - attestations: - - aggregation_bits: "0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001" - data: - slot: "4605531939934246443" - index: "4610489389584298827" - beacon_block_root: "0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b" - source: - epoch: "529421377" - root: "0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2" - target: - epoch: "529806126" - root: "0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd" - signature: "0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc" - - aggregation_bits: "0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101" - data: - slot: "4544390030852162633" - index: "4542737547635478505" - beacon_block_root: "0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd" - source: - epoch: "527690007" - root: "0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8" - target: - epoch: "528074756" - root: "0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8" - signature: "0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120" - - aggregation_bits: "0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301" - data: - slot: "4529517677607038185" - index: "4574134745932346122" - beacon_block_root: "0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947" - source: - epoch: "532884117" - root: "0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31" - target: - epoch: "531729870" - root: "0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672" - signature: "0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683" - deposits: - - proof: - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - data: - pubkey: "0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d" - withdrawal_credentials: "0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c" - amount: "32000000000" - signature: "0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb" - voluntary_exits: - - message: - epoch: "4562567354825622634" - validator_index: "4564219838042306762" - signature: "0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e" - sync_aggregate: - sync_committee_bits: "0x01000000" - sync_committee_signature: "0x919ee45cc18456f6e85da6bc21c2e40f44f9a887932c73ea9ad354f88e56d4ec0a8c396ed143082c8e31d697b877a2a215d2966d91c7beb156bf7ab5777e210012f70dcd5f7657808a82cba51e194be994f917150ebdb9e5c57476f1edb47206" - BLOCK_V2 (PHASE 0): - value: - type: "BLOCK_V2" - signingRoot: "0x23181cd23aa0ce5aed8628d4efc404e173ac4b72943ddb0e60129b4884aa8a4f" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - beacon_block: - version: "PHASE0" - block: - slot: "0" - proposer_index: "4666673844721362956" - parent_root: "0x367cbd40ac7318427aadb97345a91fa2e965daf3158d7f1846f1306305f41bef" - state_root: "0xfd18cf40cc907a739be483f1ca0ee23ad65cdd3df23205eabc6d660a75d1f54e" - body: - randao_reveal: "0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71" - eth1_data: - deposit_root: "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a938e7f946cf74fbbb9416428f" - deposit_count: "4658411424342975020" - block_hash: "0x499db7404cbff78670f0209f1932346fef68d985cb55a8d27472742bdf54d379" - graffiti: "0x0000000000000000000000000000000000000000000000000000000000000000" - proposer_slashings: - - signed_header_1: - message: - slot: "4661716390776343276" - proposer_index: "4600574485989226763" - parent_root: "0x32a7d23faa44fc04cc23dc3b560a55ade3deb2c393e9de2e6d20bdad2416c39b" - state_root: "0xf943e43fcb615e36ec5aa6b9db6f1746d0d5b50d708f6400e39cf25495f39cfb" - body_root: "0x0c65de3f6bad3d7be19d0de5aff82b13d6d8b49f26588dba111e361d6f545486" - signature: "0xb520c40e02457e0d3d61ebba3b04912f7db82a9a74132fedf190d94b32738dc62744644455959b4b4dc7aaf1e54064fa0f4aefe30696b7ed758c921d266402360e9abc003374800cd2aa6ffaa0c11a5cbfb3798b1816bac7be1e0c67c3305483" - signed_header_2: - message: - slot: "4661716390776343276" - proposer_index: "4600574485989226763" - parent_root: "0x7e2bbb3f2a737918a12f79e9a52da7e1fceaae0b6c0c82172425cbce8d99a0c6" - state_root: "0x45c8cc3f4a90db49c16643672a93697ae9e1b15549b207e99aa10076fe767a26" - body_root: "0x58e9c63feadbba8eb6a9aa92fd1b7e47efe4b0e7ff7a30a3c822443ed8d731b1" - signature: "0xa01cb4e18fb43a400024b67cd091680b8412ea66ed4a0d41f7ee611a87476d153e18879e22a5dbc98df9ea4ecd016c1801f1ee9411e103383c73c06cb5331b8377ef8f2f4ab67a4975135a59d9121279f9d979625d78f339f71aaaec565911b1" - attester_slashings: - - attestation_1: - attesting_indices: - - "4585702132744102314" - - "4590659586689121994" - - "4589007099177470570" - data: - slot: "4580744678799082634" - index: "4579092195582398506" - beacon_block_root: "0xded09d3f4aedd5706b7e7dc2c7d90de31bfaa9e5fcf74dba08ab1cb8d17d357c" - source: - epoch: "533461240" - root: "0xed7436400b3f287283b1005a48f4f70e79abc311779529d2628c4161a3a79565" - target: - epoch: "538462976" - root: "0xc7324240cba769e8982b3203a1e2ce746ca5c5ed0a04d85d078abad0efe52650" - signature: "0xab7a632a4707b1f8280944e479d239726caec1c6a73e8cc29eb98aa9cbeaa97d4c4921bdb8cd977f07a172062b8143be0d2db585dd2e8356897ae04f59234c800f2a6a2607a9491de5c57a92fbd8ad6e3f5e525618a1481b1f1446623e8765fc" - attestation_2: - attesting_indices: - - "4585702132744102314" - - "4590659586689121994" - - "4589007099177470570" - data: - slot: "4620404293179370891" - index: "4618751809962686763" - beacon_block_root: "0x14b72a404bd6e6fb6d37cfb0f00521a985b1c135e4267b46be8ec8f15869047b" - source: - epoch: "538078227" - root: "0x867d07400b9c22992dc93ab5e53a9c77abc3bba12adb6fa3d1955da376ae50bb" - target: - epoch: "536923980" - root: "0x603b1340cb04640f42436c5e3e2973dd9ebdbd7dbd491e2f7593d612c2ece1a5" - signature: "0xa32991816eb9f297553b4732309a4cdba7b33287264611715b0ab3319bca19e581da6e2659912a4e0e94aafc01c488e30ffc96ed14e2a726b9d3c618405ee0bf54bf6ae7f2097465cb27ab8132ec24eb93d3c9159475304082f7f0e452b93b65" - attestations: - - aggregation_bits: "0xfa79cdb89d0d51c5cdd001b7425c6d726750a9d5f89ade6ed9890ce3a706140c399a5e10c90a819094b65322dac7501f7c75471e69d4567358d8ca75f7c1b3133ebecf006b369a1f36efc5f2b706d5922ff98c58a1825a53a864376658f816600cf021cea843d4396502bb9c74d1510afe26036f89f783b4f5c7bacb6649c46f217a6af835f312d6fa253d2bbc83c07993f4f10de2ed2d952689379dbe4f794c1a1055a6b364d68e038deec9667f576b3b9eca5fcadd6298f181e1edb876efc3d0975ae14ae9a0ad2f1836d4c3f1080a96d8ab7c43b34bb2eda895ff66be698b363cfa4be33da3ec94a1a7a90672fd12c4a59916bb937e78476e4f08e4f4031001" - data: - slot: "4605531939934246443" - index: "4610489389584298827" - beacon_block_root: "0xbfe0f53feb7ec0670c92703760d5d9debdccb8574d35ead15a1928fc05d1765b" - source: - epoch: "529421377" - root: "0x95c9163fa9b8e5a07382c4a8ca24e64fab3f93035e00f87325462db67031aff2" - target: - epoch: "529806126" - root: "0x6f87223f6921271789fcf5512313bdb59e3995dff16ea6ffca43a625bb6f40dd" - signature: "0x8f8d16b39e14569aab1b712e5c19ed51afe3600a6b017e8ab432f43a02ee720a733c33ef087d2f3653a9701e8d8a836301655b9195c0373b775c88ba1368e5d55354a70a3096bd26dee29dddbe7a4820e2b1653e84122beacbc01af7d93e6bdc" - - aggregation_bits: "0x4ac567b296efbf7cf3209e87096a7a1a50fd523400113f917f6584a5a306f06b2d8da9ae858d47ff2594010089838efe41f19a78d9aae27c2ffde26f278b8681db9d091eb72e7cab3e449dfccd46a270693e1f88f197324e57bfd45573315cf9fb60d770937b32f7c0c6ce1581ec51e6b60f71acfde304dc917f2e0aa7872038b7d9140d15f7927c23a0490a74c2b0aca2773fed9217067e4444f9ca93874e4ff8407111c3efdb138b97c6d4957b6a70ec1debb283e3d0eb1cfef068adcffbf057d20fdc339eae03f0fa2613abdde8158a7fc40c3cfd1117eb6f8c4ae21d6b2ab4b57ae9a8653a34451aee6418c0c3609dc937293f5f5b346a7ab1a0d144185101" - data: - slot: "4544390030852162633" - index: "4542737547635478505" - beacon_block_root: "0x1bb1ed3e09ca0083285797d894e275ebd7548c015a7d158b66ce053068d7b2bd" - source: - epoch: "527690007" - root: "0xf56ef93ec93242f93dd1c881ecd04c51ca4e8eddeeebc3160acc7e9fb41544a8" - target: - epoch: "528074756" - root: "0x6735d63e89f87d96fd623486e205c81ff060884934a0b8731dd31351d25a90e8" - signature: "0x90309dd491ae6ed51917dc305a3d4ae68d0a0d4792c7eb59c193bd03605bd94e61cab37502de0ad3e6162bc02427bba80a798b3670d5de82a854094016cc298b265371345c0e3ac49fd44bbb9ba0d4fcea0c1a80cecb60e93921d907e8c48120" - - aggregation_bits: "0xe8c9759f0840f980ae956b15fc383d992e7d4420d12ba5bf32f669f446ac6fa388e20e5ce96e9266dd98840179d2cde3cabd9a8bafab5dec9c2e89f7f78c989e690548603984803b80c82d7b76443194576a1ce49da5cfe56f56e83b745fb01b5f18ccc86d88f5a22d927e64ff0b8e880893abcddec45b268531c4a0697537dae643a24b1a36432f37d42962553bd39af71f37e0429b81470c11316aa39db074aa3f1df4124e7cb203debed60b885ffb9b27e46a1434e81bbd56566632d0729c0822ac415cbb67f25973667d88e58df9c2f058a0ae7f118c98cc448453b6fbe590363bd17ed62c2f808df61f2a9e593235eeb56db74b9dd15980189a5271468301" - data: - slot: "4529517677607038185" - index: "4574134745932346122" - beacon_block_root: "0x64b8743faafef0521f5350f290979d7e470fa3e3f8746bd14933f531ca233947" - source: - epoch: "532884117" - root: "0x3d76803f6a6732c935cd819be98574e43a09a5bf8ce3195ded306ea11562ca31" - target: - epoch: "531729870" - root: "0xb03c5d3f2a2d6e66f45eed9fdfbaefb2601b9f2bd2970eba0038035333a71672" - signature: "0x8c40f51a99fce6ebb9a4db5e80d715fff319e7ae523e46afb5d03c000d427e23c7a39e77e2af53851706283c8ca91d680997cb459386fbdff52c4d0ecf498e173717a838a792b210bdffaf476538628584a133899bf30dd5ce7056463b8cd683" - deposits: - - proof: - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - - "0x8afa683fea95afdc0ad91e4937a9c6185315a1076506bd45a4357cc27fe5a75c" - data: - pubkey: "0xb1f8f6e731dbf6b4e3265fb857c7190adbfc7e6cc95ce2e8bda72be8b6ea3459f862310a2484c3b0ee33b30920f18c1d" - withdrawal_credentials: "0xfcc0453faa5beb79c96a8a4d2dde41e779279b73abbab1a2b73c11749d2af49c" - amount: "32000000000" - signature: "0xb594382214f5bdd375de66c45e1c61a526c7b73fb166c72433bbd9c2a7ad6881244e61cc6427e0206a50b762a129d8830e8708c55761d61ce9e3b19c1bee13bc55daa13bdb07118efdbf57a588b8a64e6392d14f935e53b68933e3355b35acdb" - voluntary_exits: - - message: - epoch: "4562567354825622634" - validator_index: "4564219838042306762" - signature: "0xb86aecf4e9673e9ac774883f03c46c2cfe59320e441abfc2e2bbaeda2193f58c57a3aec0ae63ba17d3b1cb81bd548689004773c1867cf047e1a2d5c3c51973fca33040cae49bee51bf4d2e23786f51dc5672bff5e9df8f7bc5fadae6be5c146e" - BLOCK (DEPRECATED): - value: - type: "BLOCK" - signingRoot: '0xf6ab1a0a4a712f544f99b53cb8c2c2625859a134fb5c9f1b2cb96e13dd88bd62' - fork_info: - fork: - previousVersion: '0x00000001' - currentVersion: '0x00000001' - epoch: "1" - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - block: - slot: "0" - proposerIndex: "5" - parentRoot: '0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89' - stateRoot: '0x0000000000000000000000000000000000000000000000000000000000000000' - body: - randaoReveal: '0xa686652aed2617da83adebb8a0eceea24bb0d2ccec9cd691a902087f90db16aa5c7b03172a35e874e07e3b60c5b2435c0586b72b08dfe5aee0ed6e5a2922b956aa88ad0235b36dfaa4d2255dfeb7bed60578d982061a72c7549becab19b3c12f' - eth1Data: - depositRoot: '0x6a0f9d6cb0868daa22c365563bb113b05f7568ef9ee65fdfeb49a319eaf708cf' - depositCount: 8 - blockHash: '0x4242424242424242424242424242424242424242424242424242424242424242' - graffiti: '0x74656b752f76302e31322e31302d6465762d6338316361363235000000000000' - proposerSlashings: [ ] - attesterSlashings: [ ] - attestations: [ ] - deposits: [ ] - voluntaryExits: [ ] - ATTESTATION: - value: - type: "ATTESTATION" - signingRoot: "0x548c9a015f4c96cb8b1ddbbdfca85846f85bf9f344a434c140f378cdfb5341f0" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - attestation: - slot: "32" - index: "0" - beacon_block_root: "0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0xb2eedb01adbd02c828d5eec09b4c70cbba12ffffba525ebf48aca33028e8ad89" - - AGGREGATION_SLOT: - value: - type: 'AGGREGATION_SLOT' - signingRoot: '0x1fb90dd6e8b2670e6949347bc4eaacd37f9b6cc6e42c559973e362c800e853b9' - fork_info: - fork: - previousVersion: '0x00000001' - currentVersion: '0x00000001' - epoch: "1" - genesis_validators_root: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - aggregation_slot: - slot: "119" - AGGREGATE_AND_PROOF_V2 (FULU): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "FULU" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x0000000000000000000000000000000000000000000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - committee_bits: "0x0000000000000001" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF_V2 (ELECTRA): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x247535806f76143fe4798427b2a79b85340c1a029a9e08581995b60e4e45c9e0" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "ELECTRA" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x0000000000000000000000000000000000000000000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - committee_bits: "0x0000000000000001" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF_V2 (DENEB): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "DENEB" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x00000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF_V2 (CAPELLA): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "CAPELLA" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x00000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF_V2 (BELLATRIX): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "BELLATRIX" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x00000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF_V2 (ALTAIR): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "ALTAIR" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x00000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF_V2 (PHASE 0): - value: - type: "AGGREGATE_AND_PROOF_V2" - signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - version: "PHASE0" - data: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x00000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - AGGREGATE_AND_PROOF (DEPRECATED): - value: - type: "AGGREGATE_AND_PROOF" - signingRoot: "0x8d777156899cb02e0e66217afd832886239752a59a393218f6c603bcf615b4f8" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - aggregate_and_proof: - aggregator_index: "1" - aggregate: - aggregation_bits: "0x00000101" - data: - slot: "0" - index: "0" - beacon_block_root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - source: - epoch: "0" - root: "0x0000000000000000000000000000000000000000000000000000000000000000" - target: - epoch: "0" - root: "0x100814c335d0ced5014cfa9d2e375e6d9b4e197381f8ce8af0473200fdc917fd" - signature: "0xa627242e4a5853708f4ebf923960fb8192f93f2233cd347e05239d86dd9fb66b721ceec1baeae6647f498c9126074f1101a87854d674b6eebc220fd8c3d8405bdfd8e286b707975d9e00a56ec6cbbf762f23607d490f0bbb16c3e0e483d51875" - selection_proof: "0xa63f73a03f1f42b1fd0a988b614d511eb346d0a91c809694ef76df5ae021f0f144d64e612d735bc8820950cf6f7f84cd0ae194bfe3d4242fe79688f83462e3f69d9d33de71aab0721b7dab9d6960875e5fdfd26b171a75fb51af822043820c47" - - RANDAO_REVEAL: - value: - type: "RANDAO_REVEAL" - signingRoot: "0x3d047c51a8b03630781dc4c5519c17f7de87174246ff2deed0f195c6c775f91e" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - randao_reveal: - epoch: "3" - - VOLUNTARY_EXIT: - value: - type: "VOLUNTARY_EXIT" - signingRoot: "0x38e9f1cfe7926ce5366b633b7fc7113129025737394002d2637faaeefc56913d" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - voluntary_exit: - epoch: "119" - validator_index: "0" - - SYNC_COMMITTEE_MESSAGE: - value: - type: "SYNC_COMMITTEE_MESSAGE" - signingRoot: "0xa6f60df2817ea5b52eed1fefebbad746ef64c6249fc05c90c9e0f520cc75bb95" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - sync_committee_message: - beacon_block_root: "0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464" - slot: "0" - - SYNC_COMMITTEE_SELECTION_PROOF: - value: - type: "SYNC_COMMITTEE_SELECTION_PROOF" - signingRoot: "0x50d85c783ab27c1eb3f3efa914b91cb93ffd677137b15c27ba5bb548306e6963" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - sync_aggregator_selection_data: - slot: "0" - subcommittee_index: "0" - - SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: - value: - type: "SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF" - signingRoot: "0xae94702468b584a3b1c422bc1b39cc523d9175ba3b9ac1cccb699c00507cc1a5" - fork_info: - fork: - previous_version: "0x00000001" - current_version: "0x00000001" - epoch: "1" - genesis_validators_root: "0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673" - contribution_and_proof: - aggregator_index: "11" - selection_proof: "0x8f5c34de9e22ceaa7e8d165fc0553b32f02188539e89e2cc91e2eb9077645986550d872ee3403204ae5d554eae3cac12124e18d2324bccc814775316aaef352abc0450812b3ca9fde96ecafa911b3b8bfddca8db4027f08e29c22a9c370ad933" - contribution: - slot: "0" - beacon_block_root: "0x235bc3400c2839fd856a524871200bd5e362db615fc4565e1870ed9a2a936464" - subcommittee_index: "1" - aggregation_bits: "0x24" - signature: "0x9005ed0936f527d416609285b355fe6b9610d730c18b9d2f4942ba7d0eb95ba304ff46b6a2fb86f0c756bf09274db8e11399b7642f9fc5ae50b5bd9c1d87654277a19bfc3df78d36da16f44a48630d9550774a4ca9f3a5b55bbf33345ad2ec71" - - VALIDATOR_REGISTRATION: - value: - type: "VALIDATOR_REGISTRATION" - signingRoot: "0xe4d2b3dd1e23807b90af0b1768cc7de12d4353320adb486f1bdaeed6b67009ea" - validator_registration: - fee_recipient: "0x6fdfab408c56b6105a76eff5c0435d09fc6ed7a9" - gas_limit: "4658411424342975020" - timestamp: "4663368873993027404" - pubkey: "0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057" - - DEPOSIT: - value: - type: "DEPOSIT" - signingRoot: "0x3a49cdd70862ee95fed10e7494a8caa16af1be2f53612fc74dad27260bb2d711" - deposit: - pubkey: "0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057" - withdrawal_credentials: "0x39722cbbf8b91a4b9045c5e6175f1001eac32f7fcd5eccda5c6e62fc4e638508" - amount: "32" - genesis_fork_version: "0x00000001" - - responses: - '200': - description: 'hex encoded string of signature' - content: - application/json: - schema: - $ref: '../schemas.yaml#/components/schemas/SigningResponse' - text/plain: - schema: - type: string - example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' - '412': - description: 'Signing operation failed due to slashing protection rules' - '404': - description: 'Public Key not found' - '400': - description: 'Bad request format' - '500': - description: 'Internal server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/paths/upcheck.yaml b/src/src/openapi-specs/eth2/signing/paths/upcheck.yaml deleted file mode 100644 index 4cfeb086..00000000 --- a/src/src/openapi-specs/eth2/signing/paths/upcheck.yaml +++ /dev/null @@ -1,17 +0,0 @@ -get: - tags: - - 'Server Status' - summary: 'Server Status' - description: | - Checks the Web3Signer server status. Confirms if Web3Signer is connected and running. Not used by validator clients. - operationId: 'UPCHECK' - responses: - '200': - description: 'OK' - content: - text/plain; charset=utf-8: - schema: - type: string - example: 'OK' - '500': - description: 'Internal Web3Signer server error' \ No newline at end of file diff --git a/src/src/openapi-specs/eth2/signing/schemas.yaml b/src/src/openapi-specs/eth2/signing/schemas.yaml deleted file mode 100644 index 4c33907f..00000000 --- a/src/src/openapi-specs/eth2/signing/schemas.yaml +++ /dev/null @@ -1,814 +0,0 @@ -components: - schemas: - Signing: - type: "object" - properties: - fork_info: - type: object - properties: - fork: - $ref: '#/components/schemas/Fork' - description: Fork information - genesis_validators_root: - type: "string" - description: Genesis Validators Root in hex string format. - example: '0x04700007fabc8282644aed6d1c7c9e21d38a03a0c4ba193f3afe428824b3a673' - required: - - fork - - genesis_validators_root - signingRoot: - type: "string" - description: 'signing root for optional verification if field present' - example: '0xaa2e0c465c1a45d7b6637fcce4ad6ceb71fc12064b548078d619a411f0de8adc' - required: - - fork_info - SigningResponse: - type: "object" - properties: - signature: - type: "string" - description: "Hex encoded string of signature" - example: '0xb3baa751d0a9132cfe93e4e3d5ff9075111100e3789dca219ade5a24d27e19d16b3353149da1833e9b691bb38634e8dc04469be7032132906c927d7e1a49b414730612877bc6b2810c8f202daf793d1ab0d6b5cb21d52f9e52e883859887a5d9' - AggregationSlotSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: "object" - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'AGGREGATION_SLOT' - aggregation_slot: - type: "object" - properties: - slot: - type: string - format: "uint64" - required: - - type - - aggregation_slot - AggregateAndProofSigning: - description: '** DEPRECATED ** See AggregateAndProofSigningV2.' - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'AGGREGATE_AND_PROOF' - aggregate_and_proof: - $ref: "#/components/schemas/AggregateAndProofPhase0" - required: - - type - - aggregate_and_proof - AggregateAndProofSigningV2: - allOf: - - $ref: '#/components/schemas/Signing' - - $ref: '#/components/schemas/AggregateAndProofRequest' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'AGGREGATE_AND_PROOF_V2' - required: - - type - AggregateAndProofRequest: - type: object - properties: - aggregate_and_proof: - oneOf: - - $ref: '#/components/schemas/AggregateAndProofRequestPhase0' - - $ref: '#/components/schemas/AggregateAndProofRequestAltair' - - $ref: '#/components/schemas/AggregateAndProofRequestBellatrix' - - $ref: '#/components/schemas/AggregateAndProofRequestCapella' - - $ref: '#/components/schemas/AggregateAndProofRequestDeneb' - - $ref: '#/components/schemas/AggregateAndProofRequestElectra' - - $ref: '#/components/schemas/AggregateAndProofRequestFulu' - discriminator: - propertyName: version - mapping: - PHASE0: '#/components/schemas/AggregateAndProofRequestPhase0' - ALTAIR: '#/components/schemas/AggregateAndProofRequestAltair' - BELLATRIX: '#/components/schemas/AggregateAndProofRequestBellatrix' - CAPELLA: '#/components/schemas/AggregateAndProofRequestCapella' - DENEB: '#/components/schemas/AggregateAndProofRequestDeneb' - ELECTRA: '#/components/schemas/AggregateAndProofRequestElectra' - FULU: '#/components/schemas/AggregateAndProofRequestFulu' - required: - - aggregate_and_proof - AggregateAndProofRequestPhase0: - type: object - properties: - version: - type: string - enum: - - PHASE0 - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofPhase0" - required: - - version - - data - AggregateAndProofRequestAltair: - type: object - properties: - version: - type: string - enum: - - ALTAIR - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofPhase0" - required: - - version - - data - AggregateAndProofRequestBellatrix: - type: object - properties: - version: - type: string - enum: - - BELLATRIX - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofPhase0" - required: - - version - - data - AggregateAndProofRequestCapella: - type: object - properties: - version: - type: string - enum: - - CAPELLA - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofPhase0" - required: - - version - - data - AggregateAndProofRequestDeneb: - type: object - properties: - version: - type: string - enum: - - DENEB - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofPhase0" - required: - - version - - data - AggregateAndProofRequestElectra: - type: object - properties: - version: - type: string - enum: - - ELECTRA - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofElectra" - required: - - version - - data - AggregateAndProofRequestFulu: - type: object - properties: - version: - type: string - enum: - - FULU - description: 'version to identify AggregateAndProof request type.' - data: - $ref: "#/components/schemas/AggregateAndProofElectra" - required: - - version - - data - AttestationSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'ATTESTATION' - attestation: - $ref: "#/components/schemas/AttestationData" - required: - - type - - attestation - BlockSigning: - description: '** DEPRECATED ** See BeaconBlockSigning.' - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'BLOCK' - block: - $ref: "#/components/schemas/BeaconBlock" - required: - - type - - block - DepositSigning: - type: object - properties: - type: - type: "string" - description: 'Signing Request type' - enum: - - 'DEPOSIT' - signingRoot: - description: 'signing root for optional verification if field present' - type: "string" - deposit: - type: object - properties: - pubkey: - type: "string" - withdrawal_credentials: - type: "string" - amount: - type: "string" - genesis_fork_version: - type: "string" - description: Bytes4 hexadecimal - required: - - type - - deposit - RandaoRevealSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'RANDAO_REVEAL' - randao_reveal: - $ref: "#/components/schemas/RandaoReveal" - required: - - type - - randao_reveal - VoluntaryExitSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'VOLUNTARY_EXIT' - voluntary_exit: - $ref: "#/components/schemas/VoluntaryExit" - required: - - type - - voluntary_exit - SyncCommitteeMessageSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'SYNC_COMMITTEE_MESSAGE' - sync_committee_message: - $ref: "#/components/schemas/SyncCommitteeMessage" - required: - - type - - sync_committee_message - SyncCommitteeSelectionProofSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'SYNC_COMMITTEE_SELECTION_PROOF' - sync_aggregator_selection_data: - $ref: "#/components/schemas/SyncAggregatorSelectionData" - required: - - type - - sync_aggregator_selection_data - SyncCommitteeContributionAndProofSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF' - contribution_and_proof: - $ref: "#/components/schemas/ContributionAndProof" - required: - - type - - contribution_and_proof - ValidatorRegistrationSigning: - allOf: - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'VALIDATOR_REGISTRATION' - signingRoot: - description: 'signing root for optional verification if field present' - type: "string" - validator_registration: - "$ref": "#/components/schemas/ValidatorRegistration" - required: - - type - - validator_registration - RandaoReveal: - type: "object" - properties: - epoch: - type: string - format: "uint64" - AttestationData: - type: "object" - properties: - slot: - type: "string" - format: "uint64" - index: - type: "string" - format: "uint64" - beacon_block_root: - type: "string" - source: - $ref: "#/components/schemas/Checkpoint" - target: - $ref: "#/components/schemas/Checkpoint" - Checkpoint: - type: "object" - properties: - epoch: - type: "string" - root: - type: "string" - Fork: - type: "object" - properties: - previous_version: - pattern: "^0x[a-fA-F0-9]{8}$" - type: "string" - description: 'Previous version of fork' - example: '0x00000001' - current_version: - pattern: "^0x[a-fA-F0-9]{8}$" - type: "string" - description: 'Current version of fork' - example: '0x00000001' - epoch: - type: "string" - description: 'Epoch value in String format' - format: "uint64" - example: '1' - BeaconBlock: - type: "object" - properties: - slot: - type: "string" - format: "uint64" - proposer_index: - type: "string" - format: "uint64" - parent_root: - type: "string" - state_root: - type: "string" - body: - $ref: "#/components/schemas/BeaconBlockBody" - BeaconBlockBody: - type: "object" - properties: - randao_reveal: - type: "string" - eth1_data: - "$ref": "#/components/schemas/Eth1Data" - graffiti: - type: "string" - description: "Bytes32 hexadecimal" - proposer_slashings: - type: "array" - items: - $ref: "#/components/schemas/ProposerSlashing" - attester_slashings: - type: "array" - items: - $ref: "#/components/schemas/AttesterSlashing" - attestations: - type: "array" - items: - $ref: "#/components/schemas/AttestationPhase0" - deposits: - type: "array" - items: - $ref: "#/components/schemas/Deposit" - voluntary_exits: - type: "array" - items: - $ref: "#/components/schemas/SignedVoluntaryExit" - Eth1Data: - type: "object" - properties: - deposit_root: - type: "string" - deposit_count: - type: "string" - format: "uint64" - block_hash: - type: "string" - ProposerSlashing: - type: "object" - properties: - signed_header_1: - "$ref": "#/components/schemas/SignedBeaconBlockHeader" - signed_header_2: - "$ref": "#/components/schemas/SignedBeaconBlockHeader" - AttesterSlashing: - type: "object" - properties: - attestation_1: - "$ref": "#/components/schemas/IndexedAttestation" - attestation_2: - "$ref": "#/components/schemas/IndexedAttestation" - AttestationPhase0: - type: "object" - properties: - aggregation_bits: - type: "string" - data: - $ref: "#/components/schemas/AttestationData" - signature: - type: "string" - AttestationElectra: - type: "object" - properties: - aggregation_bits: - type: "string" - data: - $ref: "#/components/schemas/AttestationData" - signature: - type: "string" - committee_bits: - type: "string" - Deposit: - type: "object" - properties: - proof: - type: "array" - items: - type: "string" - data: - $ref: "#/components/schemas/DepositData" - SignedVoluntaryExit: - type: "object" - properties: - message: - $ref: "#/components/schemas/VoluntaryExit" - signature: - type: "string" - SignedBeaconBlockHeader: - type: "object" - properties: - message: - $ref: "#/components/schemas/BeaconBlockHeader" - signature: - type: "string" - IndexedAttestation: - type: object - properties: - attesting_indices: - type: array - items: - type: string - format: uint64 - data: - "$ref": "#/components/schemas/AttestationData" - signature: - type: string - DepositData: - type: "object" - properties: - pubkey: - type: "string" - withdrawal_credentials: - type: "string" - amount: - type: "string" - signature: - type: "string" - VoluntaryExit: - type: object - properties: - epoch: - type: string - format: uint64 - validator_index: - type: string - format: uint64 - BeaconBlockHeader: - type: object - properties: - slot: - type: string - format: uint64 - proposer_index: - type: string - format: uint64 - parent_root: - type: string - description: Bytes32 hexadecimal - state_root: - type: string - description: Bytes32 hexadecimal - body_root: - type: string - description: Bytes32 hexadecimal - AggregateAndProofPhase0: - type: object - properties: - aggregator_index: - type: string - format: uint64 - aggregate: - "$ref": "#/components/schemas/AttestationPhase0" - selection_proof: - type: string - description: Bytes96 hexadecimal - AggregateAndProofElectra: - type: object - properties: - aggregator_index: - type: string - format: uint64 - aggregate: - "$ref": "#/components/schemas/AttestationElectra" - selection_proof: - type: string - description: Bytes96 hexadecimal - SyncCommitteeMessage: - type: object - properties: - beacon_block_root: - type: string - description: Bytes32 hexadecimal - slot: - type: string - format: uint64 - SyncAggregatorSelectionData: - type: object - properties: - slot: - type: string - format: uint64 - subcommittee_index: - type: string - format: uint64 - ContributionAndProof: - type: object - properties: - aggregator_index: - type: string - format: uint64 - selection_proof: - type: string - description: Bytes96 hexadecimal - contribution: - "$ref": "#/components/schemas/SyncCommitteeContribution" - SyncCommitteeContribution: - type: object - properties: - slot: - type: string - format: uint64 - beacon_block_root: - type: string - description: Bytes32 hexadecimal - subcommittee_index: - type: string - format: uint64 - aggregation_bits: - type: string - description: SSZ hexadecimal - signature: - type: string - description: Bytes96 hexadecimal - ValidatorRegistration: - type: object - properties: - fee_recipient: - type: string - description: Bytes20 hexadecimal - gas_limit: - type: string - format: uint64 - timestamp: - type: string - format: uint64 - pubkey: - type: string - BeaconBlockSigning: - allOf: - - $ref: '#/components/schemas/Signing' - - $ref: '#/components/schemas/BeaconBlockRequest' - - type: object - properties: - type: - type: "string" - description: Signing Request type - enum: - - 'BLOCK_V2' - required: - - type - - BeaconBlockRequest: - type: object - properties: - beacon_block: - oneOf: - - $ref: '#/components/schemas/BlockRequestPhase0' - - $ref: '#/components/schemas/BlockRequestAltair' - - $ref: '#/components/schemas/BlockRequestBellatrix' - - $ref: '#/components/schemas/BlockRequestCapella' - - $ref: '#/components/schemas/BlockRequestDeneb' - - $ref: '#/components/schemas/BlockRequestElectra' - - $ref: '#/components/schemas/BlockRequestFulu' - discriminator: - propertyName: version - mapping: - PHASE0: '#/components/schemas/BlockRequestPhase0' - ALTAIR: '#/components/schemas/BlockRequestAltair' - BELLATRIX: '#/components/schemas/BlockRequestBellatrix' - CAPELLA: '#/components/schemas/BlockRequestCapella' - DENEB: '#/components/schemas/BlockRequestDeneb' - ELECTRA: '#/components/schemas/BlockRequestElectra' - FULU: '#/components/schemas/BlockRequestFulu' - required: - - beacon_block - BlockRequestPhase0: - type: object - properties: - version: - type: string - enum: - - PHASE0 - description: 'version to identify block request type.' - block: - $ref: "#/components/schemas/BeaconBlock" - required: - - version - - block - BlockRequestAltair: - type: object - properties: - version: - type: string - enum: - - ALTAIR - description: 'version to identify block request type.' - block: - $ref: "#/components/schemas/BeaconBlockAltair" - required: - - version - - block - BlockRequestBellatrix: - type: object - properties: - version: - type: string - enum: - - BELLATRIX - description: 'version to identify block request type.' - block_header: - $ref: "#/components/schemas/BeaconBlockHeader" - required: - - version - - block_header - BlockRequestCapella: - type: object - properties: - version: - type: string - enum: - - CAPELLA - description: 'version to identify block request type.' - block_header: - $ref: "#/components/schemas/BeaconBlockHeader" - required: - - version - - block_header - BlockRequestDeneb: - type: object - properties: - version: - type: string - enum: - - DENEB - description: 'version to identify block request type.' - block_header: - $ref: "#/components/schemas/BeaconBlockHeader" - required: - - version - - block_header - BlockRequestElectra: - type: object - properties: - version: - type: string - enum: - - ELECTRA - description: 'version to identify block request type.' - block_header: - $ref: "#/components/schemas/BeaconBlockHeader" - required: - - version - - block_header - BlockRequestFulu: - type: object - properties: - version: - type: string - enum: - - FULU - description: 'version to identify block request type.' - block_header: - $ref: "#/components/schemas/BeaconBlockHeader" - required: - - version - - block_header - BeaconBlockAltair: - type: "object" - properties: - slot: - type: "string" - format: "uint64" - proposer_index: - type: "string" - format: "uint64" - parent_root: - type: "string" - state_root: - type: "string" - body: - $ref: "#/components/schemas/BeaconBlockBodyAltair" - BeaconBlockBodyAltair: - allOf: - - $ref: "#/components/schemas/BeaconBlockBody" - - type: object - properties: - sync_aggregate: - $ref: "#/components/schemas/SyncAggregate" - SyncAggregate: - type: object - properties: - sync_committee_bits: - type: string - description: SSZ hexadecimal - sync_committee_signature: - type: string - description: Bytes96 hexadecimal - HealthCheck: - type: object - properties: - status: - type: string - description: 'health status' - checks: - type: array - description: 'list of status checks' - items: - properties: - id: - type: string - description: 'status id' - status: - type: string - description: 'health status' - outcome: - type: string - description: 'the overall outcome of health check' diff --git a/src/src/openapi-specs/eth2/web3signer.yaml b/src/src/openapi-specs/eth2/web3signer.yaml deleted file mode 100644 index 88c82d1e..00000000 --- a/src/src/openapi-specs/eth2/web3signer.yaml +++ /dev/null @@ -1,32 +0,0 @@ -openapi: 3.0.3 -info: - title: 'Web3Signer ETH2 Api' - description: 'Sign Eth2 Artifacts' - version: '2.0.0' - license: - name: 'Apache 2.0' - url: 'http://www.apache.org/licenses/LICENSE-2.0.html' - -servers: - - url: "" - - url: http://localhost:9000 - -paths: - /api/v1/eth2/sign/{identifier}: - $ref: './signing/paths/sign.yaml' - /api/v1/eth2/publicKeys: - $ref: './signing/paths/public_keys.yaml' - /api/v1/eth2/highWatermark: - $ref: './signing/paths/high_watermark.yaml' - /reload: - $ref: './signing/paths/reload.yaml' - /upcheck: - $ref: './signing/paths/upcheck.yaml' - /healthcheck: - $ref: './signing/paths/healthcheck.yaml' - /eth/v1/keystores: - $ref: './keymanager/paths/keystores.yaml' - -externalDocs: - description: 'Web3Signer User Documentation' - url: 'https://docs.web3signer.consensys.net/'