diff --git a/.github/workflows/snyk-security.yml b/.github/workflows/snyk-security.yml new file mode 100644 index 000000000000..6f671c84c71a --- /dev/null +++ b/.github/workflows/snyk-security.yml @@ -0,0 +1,79 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# A sample workflow which sets up Snyk to analyze the full Snyk platform (Snyk Open Source, Snyk Code, +# Snyk Container and Snyk Infrastructure as Code) +# The setup installs the Snyk CLI - for more details on the possible commands +# check https://docs.snyk.io/snyk-cli/cli-reference +# The results of Snyk Code are then uploaded to GitHub Security Code Scanning +# +# In order to use the Snyk Action you will need to have a Snyk API token. +# More details in https://github.com/snyk/actions#getting-your-snyk-token +# or you can signup for free at https://snyk.io/login +# +# For more examples, including how to limit scans to only high-severity issues +# and fail PR checks, see https://github.com/snyk/actions/ + +name: Snyk Security + +on: + push: + branches: ["develop" ] + pull_request: + branches: ["develop"] + +permissions: + contents: read + +jobs: + snyk: + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Snyk CLI to check for security issues + # Snyk can be used to break the build when it detects security issues. + # In this case we want to upload the SAST issues to GitHub Code Scanning + uses: snyk/actions/setup@806182742461562b67788a64410098c9d9b96adb + + # For Snyk Open Source you must first set up the development environment for your application's dependencies + # For example for Node + #- uses: actions/setup-node@v3 + # with: + # node-version: 16 + + env: + # This is where you will need to introduce the Snyk API token created with your Snyk account + SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} + + # Runs Snyk Code (SAST) analysis and uploads result into GitHub. + # Use || true to not fail the pipeline + - name: Snyk Code test + run: snyk code test --sarif > snyk-code.sarif # || true + + # Runs Snyk Open Source (SCA) analysis and uploads result to Snyk. + - name: Snyk Open Source monitor + run: snyk monitor --all-projects + + # Runs Snyk Infrastructure as Code (IaC) analysis and uploads result to Snyk. + # Use || true to not fail the pipeline. + - name: Snyk IaC test and report + run: snyk iac test --report # || true + + # Build the docker image for testing + - name: Build a Docker image + run: docker build -t your/image-to-test . + # Runs Snyk Container (Container and SCA) analysis and uploads result to Snyk. + - name: Snyk Container monitor + run: snyk container monitor your/image-to-test --file=Dockerfile + + # Push the Snyk Code results into GitHub Code Scanning tab + - name: Upload result to GitHub Code Scanning + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: snyk-code.sarif diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 000000000000..36c52a41babf --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,23 @@ +# Jekyll site +# Package your Jekyll site using the jekyll/builder Docker container image. +# Add steps that build, test, save build artifacts, deploy, and more: +# https://aka.ms/yaml + +trigger: +- develop + +pool: + vmImage: ubuntu-latest + +steps: +- task: Docker@0 + displayName: 'Run Jekyll' + inputs: + containerRegistryType: 'Container Registry' + action: 'Run an image' + imageName: 'jekyll/builder:latest' + volumes: | + $(build.sourcesDirectory):/srv/jekyll + $(build.binariesDirectory):/srv/jekyll/_site + containerCommand: 'jekyll build --future' + detached: false diff --git a/go.mod b/go.mod index 354f0a02bd95..baa181d9fe17 100644 --- a/go.mod +++ b/go.mod @@ -39,10 +39,10 @@ require ( github.com/prometheus/client_golang v1.17.0 github.com/stretchr/testify v1.8.4 github.com/urfave/cli/v2 v2.26.0 - golang.org/x/crypto v0.16.0 + golang.org/x/crypto v0.19.0 golang.org/x/exp v0.0.0-20231006140011-7918f672742d golang.org/x/sync v0.5.0 - golang.org/x/term v0.15.0 + golang.org/x/term v0.17.0 golang.org/x/time v0.5.0 gorm.io/driver/postgres v1.5.4 gorm.io/gorm v1.25.5 @@ -199,7 +199,7 @@ require ( go.uber.org/zap v1.26.0 // indirect golang.org/x/mod v0.13.0 // indirect golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.14.0 // indirect google.golang.org/protobuf v1.31.0 // indirect diff --git a/go.sum b/go.sum index 3615c02c072c..86a3676dcd68 100644 --- a/go.sum +++ b/go.sum @@ -767,8 +767,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= -golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= @@ -877,13 +877,13 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/indexer/Dockerfile b/indexer/Dockerfile index 624f98780126..d51104c18ba5 100644 --- a/indexer/Dockerfile +++ b/indexer/Dockerfile @@ -20,7 +20,7 @@ WORKDIR /app/indexer RUN make indexer -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /app/indexer/indexer /usr/local/bin COPY --from=builder /app/indexer/indexer.toml /app/indexer/indexer.toml diff --git a/op-batcher/Dockerfile b/op-batcher/Dockerfile index 6732ecc65678..1aff291ddb1a 100644 --- a/op-batcher/Dockerfile +++ b/op-batcher/Dockerfile @@ -2,7 +2,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /usr/local/bin/op-batcher /usr/local/bin/op-batcher diff --git a/op-challenger/Dockerfile b/op-challenger/Dockerfile index ad57e2b52b6f..57f71cea6ca5 100644 --- a/op-challenger/Dockerfile +++ b/op-challenger/Dockerfile @@ -2,7 +2,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 # Make the bundled op-program the default cannon server COPY --from=builder /usr/local/bin/op-program /usr/local/bin/op-program diff --git a/op-exporter/Dockerfile b/op-exporter/Dockerfile index f9207dab71be..85b109f9a4b9 100644 --- a/op-exporter/Dockerfile +++ b/op-exporter/Dockerfile @@ -7,7 +7,7 @@ WORKDIR /app/ RUN apk --no-cache add make bash jq git RUN make build -FROM alpine:3.18 +FROM alpine:3 RUN apk --no-cache add ca-certificates WORKDIR /root/ COPY --from=builder /app/op-exporter /usr/local/bin/ diff --git a/op-heartbeat/Dockerfile b/op-heartbeat/Dockerfile index 2e3996cde666..09a5ee24241c 100644 --- a/op-heartbeat/Dockerfile +++ b/op-heartbeat/Dockerfile @@ -2,7 +2,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /usr/local/bin/op-heartbeat /usr/local/bin/op-heartbeat diff --git a/op-node/Dockerfile b/op-node/Dockerfile index 0cd7f16d9c1d..4dbb383c8ecf 100644 --- a/op-node/Dockerfile +++ b/op-node/Dockerfile @@ -2,7 +2,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /usr/local/bin/op-node /usr/local/bin/op-node diff --git a/op-program/Dockerfile b/op-program/Dockerfile index 91688b51607d..e71743c7d091 100644 --- a/op-program/Dockerfile +++ b/op-program/Dockerfile @@ -2,7 +2,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /usr/local/bin/op-program /usr/local/bin/op-program diff --git a/op-proposer/Dockerfile b/op-proposer/Dockerfile index 8eb4b7cc0ebb..5535f5250d3b 100644 --- a/op-proposer/Dockerfile +++ b/op-proposer/Dockerfile @@ -2,7 +2,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /usr/local/bin/op-proposer /usr/local/bin/op-proposer diff --git a/op-wheel/Dockerfile b/op-wheel/Dockerfile index 30f7a8a3713a..834945884ba9 100644 --- a/op-wheel/Dockerfile +++ b/op-wheel/Dockerfile @@ -1,7 +1,7 @@ ARG OP_STACK_GO_BUILDER=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack-go:latest FROM $OP_STACK_GO_BUILDER as builder # See "make golang-docker" and /ops/docker/op-stack-go -FROM alpine:3.18 +FROM alpine:3 COPY --from=builder /app/op-wheel/bin/op-wheel /usr/local/bin diff --git a/ops-bedrock/Dockerfile.l1 b/ops-bedrock/Dockerfile.l1 index eb881f7d34f5..ebcdade650fc 100644 --- a/ops-bedrock/Dockerfile.l1 +++ b/ops-bedrock/Dockerfile.l1 @@ -1,4 +1,4 @@ -FROM ethereum/client-go:v1.13.5 +FROM ethereum/client-go:v1.13.13 RUN apk add --no-cache jq bash diff --git a/ops-bedrock/Dockerfile.stateviz b/ops-bedrock/Dockerfile.stateviz index 87905c2f5fac..30af9d92389b 100644 --- a/ops-bedrock/Dockerfile.stateviz +++ b/ops-bedrock/Dockerfile.stateviz @@ -15,7 +15,7 @@ COPY ./op-node /app/op-node RUN go build -o ./bin/stateviz ./cmd/stateviz -FROM alpine:3.19 +FROM alpine:3 COPY --from=builder /app/op-node/bin/stateviz /usr/local/bin diff --git a/ops/check-changed/requirements.txt b/ops/check-changed/requirements.txt index 2cd9e559bf96..3b679546e25c 100644 --- a/ops/check-changed/requirements.txt +++ b/ops/check-changed/requirements.txt @@ -1,12 +1,12 @@ -certifi==2023.7.22 +certifi==2024.7.4 cffi==1.15.1 charset-normalizer==2.1.1 Deprecated==1.2.13 -idna==3.4 +idna==3.7 pycparser==2.21 PyGithub==1.57 PyJWT==2.6.0 PyNaCl==1.5.0 -requests==2.28.1 -urllib3==1.26.18 +requests==2.32.2 +urllib3==1.26.19 wrapt==1.14.1 diff --git a/ops/docker/Dockerfile.packages b/ops/docker/Dockerfile.packages index a4ba78875fc3..ad0168a35f48 100644 --- a/ops/docker/Dockerfile.packages +++ b/ops/docker/Dockerfile.packages @@ -35,7 +35,7 @@ FROM us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:latest as foundr # we use it rather than alpine because it's not much # bigger and alpine is often missing packages for node applications # alpine is not officially supported by node.js -FROM node:20.8.1-bullseye-slim as base +FROM node:20.18-bullseye-slim as base # Base: install deps RUN apt-get update && apt-get install -y \ diff --git a/ops/docker/ci-builder/Dockerfile b/ops/docker/ci-builder/Dockerfile index 29b541a061f1..81bf795d2931 100644 --- a/ops/docker/ci-builder/Dockerfile +++ b/ops/docker/ci-builder/Dockerfile @@ -54,7 +54,7 @@ RUN go install gotest.tools/gotestsum@latest RUN go install github.com/vektra/mockery/v2@v2.28.1 RUN go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.54.2 -FROM --platform=linux/amd64 python:3.11.4-slim-bullseye +FROM --platform=linux/amd64 python:3.13.0rc1-slim-bullseye ENV GOPATH=/go ENV PATH=/usr/local/go/bin:$GOPATH/bin:$PATH diff --git a/ops/tag-service/requirements.txt b/ops/tag-service/requirements.txt index c01ed2cefa50..0cef7e1bf82e 100644 --- a/ops/tag-service/requirements.txt +++ b/ops/tag-service/requirements.txt @@ -1,2 +1,3 @@ click==8.1.3 semver==3.0.0-dev4 +zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability diff --git a/package.json b/package.json index e29b3342f8a9..c659541df80f 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "chai": "^4.3.10", "depcheck": "^1.4.7", "doctoc": "^2.2.0", - "eslint": "^8.55.0", + "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^16.0.3", "eslint-plugin-import": "^2.29.0", diff --git a/packages/chain-mon/package.json b/packages/chain-mon/package.json index d15ff7aef4b3..52877b12d553 100644 --- a/packages/chain-mon/package.json +++ b/packages/chain-mon/package.json @@ -55,7 +55,7 @@ "chai-as-promised": "^7.1.1", "dateformat": "^4.5.1", "dotenv": "^16.3.1", - "ethers": "^5.7.2" + "ethers": "^6.0.0" }, "devDependencies": { "@ethersproject/abstract-provider": "^5.7.0", diff --git a/packages/common-ts/package.json b/packages/common-ts/package.json index 7e8d750ac29f..00d0424e7b07 100644 --- a/packages/common-ts/package.json +++ b/packages/common-ts/package.json @@ -41,7 +41,7 @@ "commander": "^11.1.0", "dotenv": "^16.3.1", "envalid": "^8.0.0", - "ethers": "^5.7.2", + "ethers": "^6.0.0", "express": "^4.18.2", "express-prom-bundle": "^6.6.0", "lodash": "^4.17.21", diff --git a/packages/contracts-bedrock/package.json b/packages/contracts-bedrock/package.json index 1d7dddcd7584..c7eaa9248bd1 100644 --- a/packages/contracts-bedrock/package.json +++ b/packages/contracts-bedrock/package.json @@ -48,7 +48,25 @@ "lint:ts:fix": "eslint --fix .", "lint:contracts:fix": "forge fmt", "lint:fix": "pnpm lint:contracts:fix && pnpm lint:ts:fix", - "lint": "pnpm lint:fix && pnpm lint:check" + "lint": "pnpm lint:fix && pnpm lint: + "lint:contracts:fix": "yarn solhint --fix 'contracts/**/*.sol' && yarn prettier --write 'contracts/**/*.sol'", + "lint:fix": "yarn lint:contracts:fix && yarn lint:ts:fix", + "lint": "yarn lint:fix && yarn lint:check", + "typechain": "typechain --target ethers-v5 --out-dir dist/types --glob 'artifacts/!(build-info)/**/+([a-zA-Z0-9_]).json'", + "echidna:aliasing": "echidna-test --contract EchidnaFuzzAddressAliasing --config ./echidna.yaml .", + "echidna:burn:gas": "echidna-test --contract EchidnaFuzzBurnGas --config ./echidna.yaml .", + "echidna:burn:eth": "echidna-test --contract EchidnaFuzzBurnEth --config ./echidna.yaml .", + "echidna:encoding": "echidna-test --contract EchidnaFuzzEncoding --config ./echidna.yaml .", + "echidna:portal": "echidna-test --contract EchidnaFuzzOptimismPortal --config ./echidna.yaml .", + "echidna:hashing": "echidna-test --contract EchidnaFuzzHashing --config ./echidna.yaml .", + "echidna:metering": "echidna-test --contract EchidnaFuzzResourceMetering --config ./echidna.yaml ." + }, + "dependencies": { + "@eth-optimism/core-utils": "^0.12.0", + "@openzeppelin/contracts": "4.7.3", + "@openzeppelin/contracts-upgradeable": "4.7.3", + "ethers": "^5.7.0", + "hardhat": "^2.9.8" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^6.13.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d32a14f3cb68..90dcd25e280b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ importers: devDependencies: '@babel/eslint-parser': specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.22.10)(eslint@8.55.0) + version: 7.23.3(@babel/core@7.22.10)(eslint@8.57.0) '@changesets/changelog-github': specifier: ^0.4.8 version: 0.4.8 @@ -32,10 +32,10 @@ importers: version: 20.10.4 '@typescript-eslint/eslint-plugin': specifier: ^6.13.2 - version: 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.3) + version: 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^6.13.2 - version: 6.13.2(eslint@8.55.0)(typescript@5.3.3) + version: 6.13.2(eslint@8.57.0)(typescript@5.3.3) chai: specifier: ^4.3.10 version: 4.3.10 @@ -46,38 +46,38 @@ importers: specifier: ^2.2.0 version: 2.2.1 eslint: - specifier: ^8.55.0 - version: 8.55.0 + specifier: ^8.57.0 + version: 8.57.0 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.55.0) + version: 9.1.0(eslint@8.57.0) eslint-config-standard: specifier: ^16.0.3 - version: 16.0.3(eslint-plugin-import@2.29.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.55.0) + version: 16.0.3(eslint-plugin-import@2.29.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0) + version: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.57.0) eslint-plugin-jsdoc: specifier: ^35.1.2 - version: 35.5.1(eslint@8.55.0) + version: 35.5.1(eslint@8.57.0) eslint-plugin-node: specifier: ^11.1.0 - version: 11.1.0(eslint@8.55.0) + version: 11.1.0(eslint@8.57.0) eslint-plugin-prefer-arrow: specifier: ^1.2.3 - version: 1.2.3(eslint@8.55.0) + version: 1.2.3(eslint@8.57.0) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@9.1.0)(eslint@8.55.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8) eslint-plugin-promise: specifier: ^5.1.0 - version: 5.2.0(eslint@8.55.0) + version: 5.2.0(eslint@8.57.0) eslint-plugin-react: specifier: ^7.24.0 - version: 7.33.2(eslint@8.55.0) + version: 7.33.2(eslint@8.57.0) eslint-plugin-unicorn: specifier: ^49.0.0 - version: 49.0.0(eslint@8.55.0) + version: 49.0.0(eslint@8.57.0) husky: specifier: ^8.0.3 version: 8.0.3 @@ -632,7 +632,7 @@ packages: - supports-color dev: true - /@babel/eslint-parser@7.23.3(@babel/core@7.22.10)(eslint@8.55.0): + /@babel/eslint-parser@7.23.3(@babel/core@7.22.10)(eslint@8.57.0): resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -641,7 +641,7 @@ packages: dependencies: '@babel/core': 7.22.10 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.55.0 + eslint: 8.57.0 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: true @@ -1717,6 +1717,16 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@eslint-community/regexpp@4.6.2: resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -1744,6 +1754,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@eth-optimism/contracts-periphery@1.0.8: resolution: {integrity: sha512-n8a9rmlMxl1lWSiC1zHUlr5Qk6qy85nhsmSgpU12El1WY75MOIPknSTQKj+yJhEmrTtI0PViWlKfgviY09pwUg==} dev: false @@ -2323,6 +2338,17 @@ packages: - supports-color dev: true + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -2332,6 +2358,10 @@ packages: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} dev: true @@ -4328,6 +4358,35 @@ packages: - supports-color dev: true + /@typescript-eslint/eslint-plugin@6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.6.2 + '@typescript-eslint/parser': 6.13.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/type-utils': 6.13.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.13.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.13.2 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.3.3): resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4349,6 +4408,27 @@ packages: - supports-color dev: true + /@typescript-eslint/parser@6.13.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.13.2 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager@6.13.2: resolution: {integrity: sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4377,6 +4457,26 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils@6.13.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) + '@typescript-eslint/utils': 6.13.2(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + ts-api-utils: 1.0.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/types@6.13.2: resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4422,6 +4522,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@6.13.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@6.13.2: resolution: {integrity: sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -7435,16 +7554,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.1.0(eslint@8.55.0): + /eslint-config-prettier@9.1.0(eslint@8.57.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.55.0 + eslint: 8.57.0 dev: true - /eslint-config-standard@16.0.3(eslint-plugin-import@2.29.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.55.0): + /eslint-config-standard@16.0.3(eslint-plugin-import@2.29.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.57.0): resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -7452,10 +7571,10 @@ packages: eslint-plugin-node: ^11.1.0 eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: - eslint: 8.55.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0) - eslint-plugin-node: 11.1.0(eslint@8.55.0) - eslint-plugin-promise: 5.2.0(eslint@8.55.0) + eslint: 8.57.0 + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.57.0) + eslint-plugin-node: 11.1.0(eslint@8.57.0) + eslint-plugin-promise: 5.2.0(eslint@8.57.0) dev: true /eslint-import-resolver-node@0.3.9: @@ -7468,7 +7587,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint@8.55.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -7489,26 +7608,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.2(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 - eslint: 8.55.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@3.0.1(eslint@8.55.0): + /eslint-plugin-es@3.0.1(eslint@8.57.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.55.0 + eslint: 8.57.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.55.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.2)(eslint@8.57.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -7518,16 +7637,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.2(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.55.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint@8.55.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -7543,7 +7662,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@35.5.1(eslint@8.55.0): + /eslint-plugin-jsdoc@35.5.1(eslint@8.57.0): resolution: {integrity: sha512-pPYPWtsykwVEue1tYEyoppBj4dgF7XicF67tLLLraY6RQYBq7qMKjUHji19+hfiTtYKKBD0YfeK8hgjPAE5viw==} engines: {node: '>=12'} peerDependencies: @@ -7552,7 +7671,7 @@ packages: '@es-joy/jsdoccomment': 0.9.0-alpha.1 comment-parser: 1.1.6-beta.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.55.0 + eslint: 8.57.0 esquery: 1.4.0 jsdoc-type-pratt-parser: 1.1.1 lodash: 4.17.21 @@ -7563,14 +7682,14 @@ packages: - supports-color dev: true - /eslint-plugin-node@11.1.0(eslint@8.55.0): + /eslint-plugin-node@11.1.0(eslint@8.57.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.55.0 - eslint-plugin-es: 3.0.1(eslint@8.55.0) + eslint: 8.57.0 + eslint-plugin-es: 3.0.1(eslint@8.57.0) eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 @@ -7578,15 +7697,15 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-prefer-arrow@1.2.3(eslint@8.55.0): + /eslint-plugin-prefer-arrow@1.2.3(eslint@8.57.0): resolution: {integrity: sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==} peerDependencies: eslint: '>=2.0.0' dependencies: - eslint: 8.55.0 + eslint: 8.57.0 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@8.55.0)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -7597,22 +7716,22 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.55.0 - eslint-config-prettier: 9.1.0(eslint@8.55.0) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-promise@5.2.0(eslint@8.55.0): + /eslint-plugin-promise@5.2.0(eslint@8.57.0): resolution: {integrity: sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: eslint: ^7.0.0 dependencies: - eslint: 8.55.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.55.0): + /eslint-plugin-react@7.33.2(eslint@8.57.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -7623,7 +7742,7 @@ packages: array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 es-iterator-helpers: 1.0.13 - eslint: 8.55.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.2.0 minimatch: 3.1.2 @@ -7637,17 +7756,17 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-plugin-unicorn@49.0.0(eslint@8.55.0): + /eslint-plugin-unicorn@49.0.0(eslint@8.57.0): resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.52.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.55.0 + eslint: 8.57.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -7745,6 +7864,53 @@ packages: - supports-color dev: true + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.6.2 + '@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.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + 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.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.21.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} diff --git a/proxyd/Dockerfile b/proxyd/Dockerfile index b066e0ecafe7..1b5b409a2897 100644 --- a/proxyd/Dockerfile +++ b/proxyd/Dockerfile @@ -12,7 +12,7 @@ WORKDIR /app RUN make proxyd -FROM alpine:3.18 +FROM alpine:3.21.0 RUN apk add bind-tools jq curl bash git redis