diff --git a/.github/workflows/lint-go.yml b/.github/workflows/lint-go.yml index f2137774..935b70bd 100644 --- a/.github/workflows/lint-go.yml +++ b/.github/workflows/lint-go.yml @@ -29,6 +29,18 @@ jobs: with: args: --timeout=5m --config .golangci.yaml - name: golines - uses: nickcharlton/diff-check@main + uses: nickcharlton/diff-check@v1.0.0 with: command: dev/lint-golines + - name: sqlc + uses: nickcharlton/diff-check@v1.0.0 + with: + command: go tool -modfile=tools/go.mod sqlc generate + - name: generate + uses: nickcharlton/diff-check@v1.0.0 + with: + command: go generate ./... + - name: mockery + uses: nickcharlton/diff-check@v1.0.0 + with: + command: go tool -modfile=tools/go.mod mockery \ No newline at end of file diff --git a/.github/workflows/solidity.yml b/.github/workflows/solidity.yml index 34c02765..e84942d7 100644 --- a/.github/workflows/solidity.yml +++ b/.github/workflows/solidity.yml @@ -39,11 +39,11 @@ jobs: - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: - version: v0.3.0 + version: v1.0.0 - name: Set cache key id: set-cache-key - run: echo "cache-key=ci-solidity-${{ hashFiles('**/*.sol') }}" >> "$GITHUB_OUTPUT" + run: echo "cache-key=ci-solidity-${{ hashFiles('contracts/**/*') }}" >> "$GITHUB_OUTPUT" - name: Install dependencies run: forge soldeer update @@ -54,7 +54,11 @@ jobs: - name: Cache data uses: actions/cache/save@v4 with: - path: contracts + path: | + contracts/build + contracts/cache + contracts/dependencies + contracts/out key: ${{ steps.set-cache-key.outputs.cache-key }} - id: forge @@ -70,10 +74,16 @@ jobs: needs: init runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@v4 - name: Restore cache uses: actions/cache/restore@v4 with: - path: contracts + path: | + contracts/build + contracts/cache + contracts/dependencies + contracts/out key: ${{ needs.init.outputs.cache-key }} - name: Restore forge @@ -91,6 +101,8 @@ jobs: needs: init runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@v4 - name: Restore cache uses: actions/cache/restore@v4 with: @@ -113,6 +125,8 @@ jobs: runs-on: ubuntu-latest if: github.actor != 'dependabot[bot]' steps: + - name: Checkout + uses: actions/checkout@v4 - name: Restore cache uses: actions/cache/restore@v4 with: @@ -164,18 +178,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 - - name: Install abigen - run: go install github.com/ethereum/go-ethereum/cmd/abigen@v1.14.12 - - - name: Generate ABIs - run: dev/generate - - - name: Check for ABI changes - working-directory: ${{ github.workspace }} - run: | - if git diff --exit-code --ignore-space-change --ignore-all-space --ignore-cr-at-eol -- contracts/pkg; then - echo "No ABI changes detected." - else - echo "ERROR: Generated files are not up to date. Please run 'contracts/dev/generate' and commit the changes." - exit 1 - fi + - name: abigen + uses: nickcharlton/diff-check@v1.0.0 + with: + command: contracts/dev/generate \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1950107e..f1d763eb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: - version: "nightly-ac81a53d1d5823919ffbadd3c65f081927aa11f2" + version: v1.0.0 - run: contracts/dev/deploy-local - run: dev/register-local-node - name: Run Tests diff --git a/contracts/dev/generate b/contracts/dev/generate index 256e4f4d..05395a2b 100755 --- a/contracts/dev/generate +++ b/contracts/dev/generate @@ -26,7 +26,7 @@ function generate_bindings() { rm -f "${output_dir}/${package}"/*.go # Generate ABI and bytecode - if ! forge inspect "${source_artifact}:${filename}" abi > "${build_artifact}.abi.json"; then + if ! forge inspect "${source_artifact}:${filename}" abi --json > "${build_artifact}.abi.json"; then echo "ERROR: Failed to generate ABI for ${filename}" >&2 exit 1 fi diff --git a/contracts/test/GroupMessage.t.sol b/contracts/test/GroupMessage.t.sol index 478f2726..fd034f56 100644 --- a/contracts/test/GroupMessage.t.sol +++ b/contracts/test/GroupMessage.t.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.28; import "forge-std/src/Vm.sol"; -import {Test, console} from "forge-std/src/Test.sol"; +import {Test} from "forge-std/src/Test.sol"; import {Utils} from "test/utils/Utils.sol"; import {GroupMessages} from "src/GroupMessages.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; diff --git a/contracts/test/IdentityUpdates.t.sol b/contracts/test/IdentityUpdates.t.sol index 2a1e0644..517420da 100644 --- a/contracts/test/IdentityUpdates.t.sol +++ b/contracts/test/IdentityUpdates.t.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.28; import "forge-std/src/Vm.sol"; -import {Test, console} from "forge-std/src/Test.sol"; +import {Test} from "forge-std/src/Test.sol"; import {Utils} from "test/utils/Utils.sol"; import {IdentityUpdates} from "src/IdentityUpdates.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; diff --git a/dev/baked/Dockerfile b/dev/baked/Dockerfile index 21e1f697..720b1cf9 100644 --- a/dev/baked/Dockerfile +++ b/dev/baked/Dockerfile @@ -1,6 +1,6 @@ # BUILD IMAGE -------------------------------------------------------- ARG GO_VERSION=1.24 -ARG FOUNDRY_VERSION=0.3.0 +ARG FOUNDRY_VERSION=1.0.0 FROM golang:${GO_VERSION}-bookworm AS builder WORKDIR /app diff --git a/dev/up b/dev/up index 64abb359..8e974634 100755 --- a/dev/up +++ b/dev/up @@ -1,7 +1,8 @@ #!/bin/bash set -e -if ! which forge &>/dev/null; then echo "ERROR: Missing foundry binaries. Run 'curl -L https://foundry.paradigm.xyz | bash' and follow the instructions" && exit 1; fi +if ! which forge &>/dev/null; then echo "ERROR: Missing foundry binaries. Run 'curl -L https://foundry.paradigm.xyz | bash' and follow the instructions to install foundry 1.0.0" && exit 1; fi +if ! forge --version | grep -q "v1.0.0"; then echo "ERROR: Foundry version is not 1.0.0. Please install the correct version." && exit 1; fi if ! which shellcheck &>/dev/null; then brew install shellcheck; fi if ! which jq &>/dev/null; then brew install jq; fi diff --git a/pkg/mocks/authn/mock_JWTVerifier.go b/pkg/mocks/authn/mock_JWTVerifier.go index 0a44816a..bbfd4ad8 100644 --- a/pkg/mocks/authn/mock_JWTVerifier.go +++ b/pkg/mocks/authn/mock_JWTVerifier.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package authn diff --git a/pkg/mocks/blockchain/mock_ChainClient.go b/pkg/mocks/blockchain/mock_ChainClient.go index b3c3287e..bdb62f19 100644 --- a/pkg/mocks/blockchain/mock_ChainClient.go +++ b/pkg/mocks/blockchain/mock_ChainClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package blockchain diff --git a/pkg/mocks/blockchain/mock_IBlockchainPublisher.go b/pkg/mocks/blockchain/mock_IBlockchainPublisher.go index 47cfea20..b1d7ff63 100644 --- a/pkg/mocks/blockchain/mock_IBlockchainPublisher.go +++ b/pkg/mocks/blockchain/mock_IBlockchainPublisher.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package blockchain diff --git a/pkg/mocks/indexer/mock_ChainReorgHandler.go b/pkg/mocks/indexer/mock_ChainReorgHandler.go index 3a306786..56d0049c 100644 --- a/pkg/mocks/indexer/mock_ChainReorgHandler.go +++ b/pkg/mocks/indexer/mock_ChainReorgHandler.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package indexer diff --git a/pkg/mocks/indexer/mock_IBlockTracker.go b/pkg/mocks/indexer/mock_IBlockTracker.go index 2f1bdec8..5ee42b1d 100644 --- a/pkg/mocks/indexer/mock_IBlockTracker.go +++ b/pkg/mocks/indexer/mock_IBlockTracker.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package indexer diff --git a/pkg/mocks/metadata_api/mock_MetadataApiClient.go b/pkg/mocks/metadata_api/mock_MetadataApiClient.go index 8b191a35..0d2a014b 100644 --- a/pkg/mocks/metadata_api/mock_MetadataApiClient.go +++ b/pkg/mocks/metadata_api/mock_MetadataApiClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package metadata_api diff --git a/pkg/mocks/mls_validationv1/mock_ValidationApiClient.go b/pkg/mocks/mls_validationv1/mock_ValidationApiClient.go index 01ddccf7..c399bba8 100644 --- a/pkg/mocks/mls_validationv1/mock_ValidationApiClient.go +++ b/pkg/mocks/mls_validationv1/mock_ValidationApiClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package mls_validationv1 diff --git a/pkg/mocks/mlsvalidate/mock_MLSValidationService.go b/pkg/mocks/mlsvalidate/mock_MLSValidationService.go index 4710312d..2f730f1e 100644 --- a/pkg/mocks/mlsvalidate/mock_MLSValidationService.go +++ b/pkg/mocks/mlsvalidate/mock_MLSValidationService.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package mlsvalidate diff --git a/pkg/mocks/registry/mock_NodeRegistry.go b/pkg/mocks/registry/mock_NodeRegistry.go index e60efd2c..cd8f9966 100644 --- a/pkg/mocks/registry/mock_NodeRegistry.go +++ b/pkg/mocks/registry/mock_NodeRegistry.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package registry diff --git a/pkg/mocks/registry/mock_NodesContract.go b/pkg/mocks/registry/mock_NodesContract.go index 457d6618..ddb063cd 100644 --- a/pkg/mocks/registry/mock_NodesContract.go +++ b/pkg/mocks/registry/mock_NodesContract.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package registry diff --git a/pkg/mocks/storer/mock_LogStorer.go b/pkg/mocks/storer/mock_LogStorer.go index 3f991bb5..0a3a0e81 100644 --- a/pkg/mocks/storer/mock_LogStorer.go +++ b/pkg/mocks/storer/mock_LogStorer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.51.1. DO NOT EDIT. +// Code generated by mockery v2.52.2. DO NOT EDIT. package storer diff --git a/pkg/sync/syncWorker.go b/pkg/sync/syncWorker.go index 47ac7f15..6cbf0373 100644 --- a/pkg/sync/syncWorker.go +++ b/pkg/sync/syncWorker.go @@ -159,10 +159,15 @@ func (s *syncWorker) subscribeToNode(nodeid uint32) { func (s *syncWorker) subscribeToNodeRegistration( registration NodeRegistration, ) { + node, err := s.nodeRegistry.GetNode(registration.nodeid) if err != nil { // this should never happen - s.log.Error(fmt.Sprintf("Unexpected state: Failed to get node from registry: %v", err)) + s.log.Error( + "Unexpected state: Failed to get node from registry", + zap.Uint32("nodeid", registration.nodeid), + zap.Error(err), + ) s.handleUnhealthyNode(registration) return } @@ -180,11 +185,18 @@ func (s *syncWorker) subscribeToNodeRegistration( select { case <-registration.ctx.Done(): // either registry has changed or we are shutting down - s.log.Debug("Context is done. Closing stream and connection") + s.log.Debug( + "Context is done. Closing stream and connection", + zap.String("address", node.HttpAddress), + ) return default: if err != nil { - s.log.Error(fmt.Sprintf("Error: %v, retrying...", err)) + s.log.Error( + "Error connecting to node. Retrying...", + zap.String("address", node.HttpAddress), + zap.Error(err), + ) time.Sleep(backoff) backoff = min(backoff*2, 30*time.Second) } else { @@ -203,7 +215,7 @@ func (s *syncWorker) subscribeToNodeRegistration( _ = conn.Close() continue } - err = s.listenToStream(stream) + err = s.listenToStream(registration.ctx, *node, stream) _ = stream.stream.CloseSend() _ = conn.Close() } @@ -272,7 +284,7 @@ func (s *syncWorker) connectToNode(node registry.Node) (*grpc.ClientConn, error) return nil, fmt.Errorf("failed to connect to peer at %s: %v", node.HttpAddress, err) } - s.log.Debug(fmt.Sprintf("Successfully connected to peer at %s", node.HttpAddress)) + s.log.Debug(fmt.Sprintf("Successfully opened a connection to peer at %s", node.HttpAddress)) return conn, nil } @@ -305,8 +317,14 @@ func (s *syncWorker) setupStream( }, ) if err != nil { + s.log.Error( + "Failed to batch subscribe to peer", + zap.String("peer", node.HttpAddress), + zap.Error(err), + ) return nil, fmt.Errorf( - "failed to batch subscribe to peer: %v", + "failed to batch subscribe to peer at %s: %v", + node.HttpAddress, err, ) } @@ -324,6 +342,8 @@ func (s *syncWorker) setupStream( } func (s *syncWorker) listenToStream( + _ context.Context, + node registry.Node, originatorStream *originatorStream, ) error { recvChan := make(chan *message_api.SubscribeEnvelopesResponse) @@ -347,7 +367,11 @@ func (s *syncWorker) listenToStream( return nil case envs := <-recvChan: - s.log.Debug("Received envelopes", zap.Any("numEnvelopes", len(envs.Envelopes))) + s.log.Debug( + "Received envelopes", + zap.String("peer", node.HttpAddress), + zap.Any("numEnvelopes", len(envs.Envelopes)), + ) for _, env := range envs.Envelopes { s.validateAndInsertEnvelope(originatorStream, env) } @@ -358,7 +382,11 @@ func (s *syncWorker) listenToStream( // let the caller rebuild the stream if required return nil } - s.log.Error("Stream closed with error", zap.Error(err)) + s.log.Error( + "Stream closed with error", + zap.String("peer", node.HttpAddress), + zap.Error(err), + ) return err } } diff --git a/tools/go.mod b/tools/go.mod index c88f2c0b..edd61236 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -129,7 +129,7 @@ require ( github.com/envoyproxy/go-control-plane v0.13.1 // indirect github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/ethereum/c-kzg-4844 v1.0.0 // indirect - github.com/ethereum/go-ethereum v1.15.2 // indirect + github.com/ethereum/go-ethereum v1.14.13 // indirect github.com/ethereum/go-verkle v0.2.2 // indirect github.com/fatih/structtag v1.2.0 // indirect github.com/felixge/fgprof v0.9.5 // indirect @@ -257,11 +257,6 @@ require ( github.com/pingcap/failpoint v0.0.0-20240528011301-b51a646c7c86 // indirect github.com/pingcap/log v1.1.0 // indirect github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25 // indirect - github.com/pion/dtls/v2 v2.2.7 // indirect - github.com/pion/logging v0.2.2 // indirect - github.com/pion/stun/v2 v2.0.0 // indirect - github.com/pion/transport/v2 v2.2.1 // indirect - github.com/pion/transport/v3 v3.0.1 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/profile v1.7.0 // indirect diff --git a/tools/go.sum b/tools/go.sum index 7dbc203d..2bae96f4 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -971,8 +971,8 @@ github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6 github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/ethereum/c-kzg-4844 v1.0.0 h1:0X1LBXxaEtYD9xsyj9B9ctQEZIpnvVDeoBx8aHEwTNA= github.com/ethereum/c-kzg-4844 v1.0.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= -github.com/ethereum/go-ethereum v1.15.2 h1:CcU13w1IXOo6FvS60JGCTVcAJ5Ik6RkWoVIvziiHdTU= -github.com/ethereum/go-ethereum v1.15.2/go.mod h1:wGQINJKEVUunCeoaA9C9qKMQ9GEOsEIunzzqTUO2F6Y= +github.com/ethereum/go-ethereum v1.14.13 h1:L81Wmv0OUP6cf4CW6wtXsr23RUrDhKs2+Y9Qto+OgHU= +github.com/ethereum/go-ethereum v1.14.13/go.mod h1:RAC2gVMWJ6FkxSPESfbshrcKpIokgQKsVKmAuqdekDY= github.com/ethereum/go-verkle v0.2.2 h1:I2W0WjnrFUIzzVPwm8ykY+7pL2d4VhlsePn4j7cnFk8= github.com/ethereum/go-verkle v0.2.2/go.mod h1:M3b90YRnzqKyyzBEWJGqj8Qff4IDeXnzFw0P9bFw3uk= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= @@ -1558,16 +1558,6 @@ github.com/pingcap/log v1.1.0 h1:ELiPxACz7vdo1qAvvaWJg1NrYFoY6gqAh/+Uo6aXdD8= github.com/pingcap/log v1.1.0/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4= github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25 h1:sAHMshrilTiR9ue2SktI/tVVT2gB4kNaQaY5pbs0YQQ= github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25/go.mod h1:Hju1TEWZvrctQKbztTRwXH7rd41Yq0Pgmq4PrEKcq7o= -github.com/pion/dtls/v2 v2.2.7 h1:cSUBsETxepsCSFSxC3mc/aDo14qQLMSL+O6IjG28yV8= -github.com/pion/dtls/v2 v2.2.7/go.mod h1:8WiMkebSHFD0T+dIU+UeBaoV7kDhOW5oDCzZ7WZ/F9s= -github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY= -github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms= -github.com/pion/stun/v2 v2.0.0 h1:A5+wXKLAypxQri59+tmQKVs7+l6mMM+3d+eER9ifRU0= -github.com/pion/stun/v2 v2.0.0/go.mod h1:22qRSh08fSEttYUmJZGlriq9+03jtVmXNODgLccj8GQ= -github.com/pion/transport/v2 v2.2.1 h1:7qYnCBlpgSJNYMbLCKuSY9KbQdBFoETvPNETv0y4N7c= -github.com/pion/transport/v2 v2.2.1/go.mod h1:cXXWavvCnFF6McHTft3DWS9iic2Mftcz1Aq29pGcU5g= -github.com/pion/transport/v3 v3.0.1 h1:gDTlPJwROfSfz6QfSi0ZmeCSkFcnWWiiR9ES0ouANiM= -github.com/pion/transport/v3 v3.0.1/go.mod h1:UY7kiITrlMv7/IKgd5eTUcaahZx5oUN3l9SzK5f5xE0= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= @@ -1692,7 +1682,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -1853,8 +1842,6 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1984,8 +1971,6 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -2153,8 +2138,6 @@ golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2173,7 +2156,6 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=