diff --git a/beacon-chain/blockchain/optimistic_sync.go b/beacon-chain/blockchain/optimistic_sync.go index 85e419668c..a320e0c45b 100644 --- a/beacon-chain/blockchain/optimistic_sync.go +++ b/beacon-chain/blockchain/optimistic_sync.go @@ -8,7 +8,6 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" v1 "github.com/prysmaticlabs/prysm/beacon-chain/powchain/engine-api-client/v1" - "github.com/prysmaticlabs/prysm/beacon-chain/state" "github.com/prysmaticlabs/prysm/config/params" "github.com/prysmaticlabs/prysm/encoding/bytesutil" enginev1 "github.com/prysmaticlabs/prysm/proto/engine/v1" @@ -87,23 +86,21 @@ func (s *Service) notifyForkchoiceUpdate(ctx context.Context, headBlk block.Beac } // notifyForkchoiceUpdate signals execution engine on a new payload -func (s *Service) notifyNewPayload(ctx context.Context, preStateVersion int, header *ethpb.ExecutionPayloadHeader, postState state.BeaconState, blk block.SignedBeaconBlock, root [32]byte) error { +func (s *Service) notifyNewPayload(ctx context.Context, preStateVersion, postStateVersion int, + preStateHeader, postStateHeader *ethpb.ExecutionPayloadHeader, blk block.SignedBeaconBlock, root [32]byte) error { ctx, span := trace.StartSpan(ctx, "blockChain.notifyNewPayload") defer span.End() - if postState == nil { - return errors.New("pre and post states must not be nil") - } // Execution payload is only supported in Bellatrix and beyond. Pre // merge blocks are never optimistic - if isPreBellatrix(postState.Version()) { + if isPreBellatrix(postStateVersion) { return s.cfg.ForkChoiceStore.SetOptimisticToValid(ctx, root) } if err := helpers.BeaconBlockIsNil(blk); err != nil { return err } body := blk.Block().Body() - enabled, err := blocks.ExecutionEnabled(postState, blk.Block().Body()) + enabled, err := blocks.IsExecutionEnabledUsingHeader(postStateHeader, body) if err != nil { return errors.Wrap(err, "could not determine if execution is enabled") } @@ -119,7 +116,7 @@ func (s *Service) notifyNewPayload(ctx context.Context, preStateVersion int, hea switch err { case v1.ErrAcceptedSyncingPayloadStatus: log.WithFields(logrus.Fields{ - "slot": postState.Slot(), + "slot": blk.Block().Slot(), "blockHash": fmt.Sprintf("%#x", bytesutil.Trunc(payload.BlockHash)), }).Info("Called new payload with optimistic block") return nil @@ -138,7 +135,7 @@ func (s *Service) notifyNewPayload(ctx context.Context, preStateVersion int, hea // To reach here, the block must have contained a valid payload. return s.validateMergeBlock(ctx, blk) } - atTransition, err := blocks.IsMergeTransitionBlockUsingPayloadHeader(header, body) + atTransition, err := blocks.IsMergeTransitionBlockUsingPayloadHeader(preStateHeader, body) if err != nil { return errors.Wrap(err, "could not check if merge block is terminal") } diff --git a/beacon-chain/blockchain/optimistic_sync_test.go b/beacon-chain/blockchain/optimistic_sync_test.go index 208da82054..846f2024f5 100644 --- a/beacon-chain/blockchain/optimistic_sync_test.go +++ b/beacon-chain/blockchain/optimistic_sync_test.go @@ -221,7 +221,7 @@ func Test_NotifyNewPayload(t *testing.T) { { name: "nil post state", preState: phase0State, - errString: "pre and post states must not be nil", + errString: "nil state", }, { name: "nil beacon block", @@ -348,7 +348,9 @@ func Test_NotifyNewPayload(t *testing.T) { } root := [32]byte{'a'} require.NoError(t, service.cfg.ForkChoiceStore.InsertOptimisticBlock(ctx, 0, root, root, params.BeaconConfig().ZeroHash, 0, 0)) - err = service.notifyNewPayload(ctx, tt.preState.Version(), payload, tt.postState, tt.blk, root) + postVersion, postHeader, err := getStateVersionAndPayload(tt.postState) + require.NoError(t, err) + err = service.notifyNewPayload(ctx, tt.preState.Version(), postVersion, payload, postHeader, tt.blk, root) if tt.errString != "" { require.ErrorContains(t, tt.errString, err) } else { @@ -398,7 +400,9 @@ func Test_NotifyNewPayload_SetOptimisticToValid(t *testing.T) { require.NoError(t, err) root := [32]byte{'c'} require.NoError(t, service.cfg.ForkChoiceStore.InsertOptimisticBlock(ctx, 1, root, [32]byte{'a'}, params.BeaconConfig().ZeroHash, 0, 0)) - err = service.notifyNewPayload(ctx, bellatrixState.Version(), payload, bellatrixState, bellatrixBlk, root) + postVersion, postHeader, err := getStateVersionAndPayload(bellatrixState) + require.NoError(t, err) + err = service.notifyNewPayload(ctx, bellatrixState.Version(), postVersion, payload, postHeader, bellatrixBlk, root) require.NoError(t, err) optimistic, err := service.IsOptimisticForRoot(ctx, root) require.NoError(t, err) diff --git a/beacon-chain/blockchain/process_block.go b/beacon-chain/blockchain/process_block.go index f1cd3556ec..1e0ad55671 100644 --- a/beacon-chain/blockchain/process_block.go +++ b/beacon-chain/blockchain/process_block.go @@ -110,7 +110,11 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b if err := s.savePostStateInfo(ctx, blockRoot, signed, postState, false /* reg sync */); err != nil { return err } - if err := s.notifyNewPayload(ctx, preStateVersion, preStateHeader, postState, signed, blockRoot); err != nil { + postStateVersion, postStateHeader, err := getStateVersionAndPayload(postState) + if err != nil { + return err + } + if err := s.notifyNewPayload(ctx, preStateVersion, postStateVersion, preStateHeader, postStateHeader, signed, blockRoot); err != nil { return errors.Wrap(err, "could not verify new payload") } @@ -256,14 +260,17 @@ func (s *Service) onBlock(ctx context.Context, signed block.SignedBeaconBlock, b return s.handleEpochBoundary(ctx, postState) } -func getStateVersionAndPayload(preState state.BeaconState) (int, *ethpb.ExecutionPayloadHeader, error) { +func getStateVersionAndPayload(st state.BeaconState) (int, *ethpb.ExecutionPayloadHeader, error) { + if st == nil { + return 0, nil, errors.New("nil state") + } var preStateHeader *ethpb.ExecutionPayloadHeader var err error - preStateVersion := preState.Version() + preStateVersion := st.Version() switch preStateVersion { case version.Phase0, version.Altair: default: - preStateHeader, err = preState.LatestExecutionPayloadHeader() + preStateHeader, err = st.LatestExecutionPayloadHeader() if err != nil { return 0, nil, err } @@ -308,9 +315,24 @@ func (s *Service) onBlockBatch(ctx context.Context, blks []block.SignedBeaconBlo PublicKeys: []bls.PublicKey{}, Messages: [][32]byte{}, } + type versionAndHeader struct { + version int + header *ethpb.ExecutionPayloadHeader + } + preVersionAndHeaders := make([]*versionAndHeader, len(blks)) + postVersionAndHeaders := make([]*versionAndHeader, len(blks)) var set *bls.SignatureBatch boundaries := make(map[[32]byte]state.BeaconState) for i, b := range blks { + v, h, err := getStateVersionAndPayload(preState) + if err != nil { + return nil, nil, err + } + preVersionAndHeaders[i] = &versionAndHeader{ + version: v, + header: h, + } + set, preState, err = transition.ExecuteStateTransitionNoVerifyAnySig(ctx, preState, b) if err != nil { return nil, nil, err @@ -322,18 +344,14 @@ func (s *Service) onBlockBatch(ctx context.Context, blks []block.SignedBeaconBlo jCheckpoints[i] = preState.CurrentJustifiedCheckpoint() fCheckpoints[i] = preState.FinalizedCheckpoint() - preStateVersion, preStateHeader, err := getStateVersionAndPayload(preState) + v, h, err = getStateVersionAndPayload(preState) if err != nil { return nil, nil, err } - s.saveInitSyncBlock(blockRoots[i], b) - if err := s.insertBlockToForkChoiceStore(ctx, b.Block(), blockRoots[i], fCheckpoints[i], jCheckpoints[i]); err != nil { - return nil, nil, err + postVersionAndHeaders[i] = &versionAndHeader{ + version: v, + header: h, } - if err := s.notifyNewPayload(ctx, preStateVersion, preStateHeader, preState, b, blockRoots[i]); err != nil { - return nil, nil, err - } - sigSet.Join(set) } verify, err := sigSet.Verify() @@ -346,10 +364,23 @@ func (s *Service) onBlockBatch(ctx context.Context, blks []block.SignedBeaconBlo // blocks have been verified, add them to forkchoice and call the engine for i, b := range blks { + s.saveInitSyncBlock(blockRoots[i], b) + if err := s.insertBlockToForkChoiceStore(ctx, b.Block(), blockRoots[i], fCheckpoints[i], jCheckpoints[i]); err != nil { + return nil, nil, err + } + if err := s.notifyNewPayload(ctx, + preVersionAndHeaders[i].version, + postVersionAndHeaders[i].version, + preVersionAndHeaders[i].header, + postVersionAndHeaders[i].header, b, blockRoots[i]); err != nil { + return nil, nil, err + } + if _, err := s.notifyForkchoiceUpdate(ctx, b.Block(), blockRoots[i], bytesutil.ToBytes32(fCheckpoints[i].Root)); err != nil { return nil, nil, err } } + for r, st := range boundaries { if err := s.cfg.StateGen.SaveState(ctx, r, st); err != nil { return nil, nil, err diff --git a/beacon-chain/core/blocks/payload.go b/beacon-chain/core/blocks/payload.go index 738c302873..02f0692007 100644 --- a/beacon-chain/core/blocks/payload.go +++ b/beacon-chain/core/blocks/payload.go @@ -14,6 +14,7 @@ import ( enginev1 "github.com/prysmaticlabs/prysm/proto/engine/v1" ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/block" + "github.com/prysmaticlabs/prysm/runtime/version" "github.com/prysmaticlabs/prysm/time/slots" ) @@ -85,15 +86,29 @@ func ExecutionBlock(body block.BeaconBlockBody) (bool, error) { // Spec code: // def is_execution_enabled(state: BeaconState, body: BeaconBlockBody) -> bool: // return is_merge_block(state, body) or is_merge_complete(state) +// Deprecated: Use `IsExecutionEnabledUsingHeader` instead. func ExecutionEnabled(st state.BeaconState, body block.BeaconBlockBody) (bool, error) { - mergeBlock, err := MergeTransitionBlock(st, body) + if st.Version() == version.Phase0 || st.Version() == version.Altair { + return false, nil + } + header, err := st.LatestExecutionPayloadHeader() + if err != nil { + return false, err + } + return IsExecutionEnabledUsingHeader(header, body) +} + +// IsExecutionEnabledUsingHeader returns true if the execution is enabled using post processed payload header and block body. +// This is an optimized version of ExecutionEnabled where beacon state is not required as an argument. +func IsExecutionEnabledUsingHeader(header *ethpb.ExecutionPayloadHeader, body block.BeaconBlockBody) (bool, error) { + mergeBlock, err := IsMergeTransitionBlockUsingPayloadHeader(header, body) if err != nil { return false, err } if mergeBlock { return true, nil } - return MergeTransitionComplete(st) + return !isEmptyHeader(header), nil } // ValidatePayloadWhenMergeCompletes validates if payload is valid versus input beacon state. diff --git a/beacon-chain/core/blocks/payload_test.go b/beacon-chain/core/blocks/payload_test.go index 80fc696dac..493a7d985d 100644 --- a/beacon-chain/core/blocks/payload_test.go +++ b/beacon-chain/core/blocks/payload_test.go @@ -565,11 +565,19 @@ func Test_IsExecutionBlock(t *testing.T) { func Test_ExecutionEnabled(t *testing.T) { tests := []struct { - name string - payload *enginev1.ExecutionPayload - header *ethpb.ExecutionPayloadHeader - want bool + name string + payload *enginev1.ExecutionPayload + header *ethpb.ExecutionPayloadHeader + useAltairSt bool + want bool }{ + { + name: "use older than bellatrix state", + payload: emptyPayload(), + header: emptyPayloadHeader(), + useAltairSt: true, + want: false, + }, { name: "empty header, empty payload", payload: emptyPayload(), @@ -619,6 +627,9 @@ func Test_ExecutionEnabled(t *testing.T) { blk.Block.Body.ExecutionPayload = tt.payload body, err := wrapper.WrappedBellatrixBeaconBlockBody(blk.Block.Body) require.NoError(t, err) + if tt.useAltairSt { + st, _ = util.DeterministicGenesisStateAltair(t, 1) + } got, err := blocks.ExecutionEnabled(st, body) require.NoError(t, err) if got != tt.want { @@ -628,6 +639,69 @@ func Test_ExecutionEnabled(t *testing.T) { } } +func Test_IsExecutionEnabledUsingHeader(t *testing.T) { + tests := []struct { + name string + payload *enginev1.ExecutionPayload + header *ethpb.ExecutionPayloadHeader + want bool + }{ + { + name: "empty header, empty payload", + payload: emptyPayload(), + header: emptyPayloadHeader(), + want: false, + }, + { + name: "non-empty header, empty payload", + payload: emptyPayload(), + header: func() *ethpb.ExecutionPayloadHeader { + h := emptyPayloadHeader() + h.ParentHash = bytesutil.PadTo([]byte{'a'}, fieldparams.RootLength) + return h + }(), + want: true, + }, + { + name: "empty header, non-empty payload", + header: emptyPayloadHeader(), + payload: func() *enginev1.ExecutionPayload { + p := emptyPayload() + p.Timestamp = 1 + return p + }(), + want: true, + }, + { + name: "non-empty header, non-empty payload", + header: func() *ethpb.ExecutionPayloadHeader { + h := emptyPayloadHeader() + h.ParentHash = bytesutil.PadTo([]byte{'a'}, fieldparams.RootLength) + return h + }(), + payload: func() *enginev1.ExecutionPayload { + p := emptyPayload() + p.Timestamp = 1 + return p + }(), + want: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + blk := util.NewBeaconBlockBellatrix() + blk.Block.Body.ExecutionPayload = tt.payload + body, err := wrapper.WrappedBellatrixBeaconBlockBody(blk.Block.Body) + require.NoError(t, err) + got, err := blocks.IsExecutionEnabledUsingHeader(tt.header, body) + require.NoError(t, err) + if got != tt.want { + t.Errorf("ExecutionEnabled() got = %v, want %v", got, tt.want) + } + }) + } +} + func Test_ValidatePayloadWhenMergeCompletes(t *testing.T) { tests := []struct { name string diff --git a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_eth1data.go b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_eth1data.go index 9adab9391d..0ef3809fec 100644 --- a/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_eth1data.go +++ b/beacon-chain/rpc/prysm/v1alpha1/validator/proposer_eth1data.go @@ -115,6 +115,9 @@ func (vs *Server) canonicalEth1Data( canonicalEth1Data = beaconState.Eth1Data() eth1BlockHash = bytesutil.ToBytes32(beaconState.Eth1Data().BlockHash) } + if eth1BlockHash == [32]byte{} { + return canonicalEth1Data, big.NewInt(0), nil + } _, canonicalEth1DataHeight, err := vs.Eth1BlockFetcher.BlockExists(ctx, eth1BlockHash) if err != nil { return nil, nil, errors.Wrap(err, "could not fetch eth1data height") diff --git a/deps.bzl b/deps.bzl index a3a7fc7668..08461574f4 100644 --- a/deps.bzl +++ b/deps.bzl @@ -244,17 +244,24 @@ def prysm_deps(): version = "v1.1.0", ) go_repository( - name = "com_github_azure_azure_pipeline_go", - importpath = "github.com/Azure/azure-pipeline-go", - sum = "h1:6oiIS9yaG6XCCzhgAgKFfIWyo4LLCiDhZot6ltoThhY=", - version = "v0.2.2", + name = "com_github_azure_azure_sdk_for_go_sdk_azcore", + importpath = "github.com/Azure/azure-sdk-for-go/sdk/azcore", + sum = "h1:qoVeMsc9/fh/yhxVaA0obYjVH/oI/ihrOoMwsLS9KSA=", + version = "v0.21.1", ) go_repository( - name = "com_github_azure_azure_storage_blob_go", - importpath = "github.com/Azure/azure-storage-blob-go", - sum = "h1:MuueVOYkufCxJw5YZzF842DY2MBsp+hLuh2apKY0mck=", - version = "v0.7.0", + name = "com_github_azure_azure_sdk_for_go_sdk_internal", + importpath = "github.com/Azure/azure-sdk-for-go/sdk/internal", + sum = "h1:E+m3SkZCN0Bf5q7YdTs5lSm2CYY3CK4spn5OmUIiQtk=", + version = "v0.8.3", ) + go_repository( + name = "com_github_azure_azure_sdk_for_go_sdk_storage_azblob", + importpath = "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob", + sum = "h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4=", + version = "v0.3.0", + ) + go_repository( name = "com_github_azure_go_autorest_autorest", importpath = "github.com/Azure/go-autorest/autorest", @@ -264,20 +271,20 @@ def prysm_deps(): go_repository( name = "com_github_azure_go_autorest_autorest_adal", importpath = "github.com/Azure/go-autorest/autorest/adal", - sum = "h1:CxTzQrySOxDnKpLjFJeZAS5Qrv/qFPkgLjx5bOAi//I=", - version = "v0.8.0", + sum = "h1:q2gDruN08/guU9vAjuPWff0+QIrpH6ediguzdAzXAUU=", + version = "v0.5.0", ) go_repository( name = "com_github_azure_go_autorest_autorest_date", importpath = "github.com/Azure/go-autorest/autorest/date", - sum = "h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM=", - version = "v0.2.0", + sum = "h1:YGrhWfrgtFs84+h0o46rJrlmsZtyZRg470CqAXTZaGM=", + version = "v0.1.0", ) go_repository( name = "com_github_azure_go_autorest_autorest_mocks", importpath = "github.com/Azure/go-autorest/autorest/mocks", - sum = "h1:qJumjCaCudz+OcqE9/XtEPfvtOjOmKaui4EOpFI6zZc=", - version = "v0.3.0", + sum = "h1:Ww5g4zThfD/6cLb4z6xxgeyDa7QDkizMkJKe0ysZXp0=", + version = "v0.2.0", ) go_repository( name = "com_github_azure_go_autorest_logger", @@ -659,8 +666,8 @@ def prysm_deps(): go_repository( name = "com_github_deckarep_golang_set", importpath = "github.com/deckarep/golang-set", - sum = "h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ=", - version = "v1.7.1", + sum = "h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4=", + version = "v1.8.0", ) go_repository( @@ -720,6 +727,12 @@ def prysm_deps(): sum = "h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E=", version = "v1.4.1-0.20201116162257-a2a8dda75c91", ) + go_repository( + name = "com_github_dnaeon_go_vcr", + importpath = "github.com/dnaeon/go-vcr", + sum = "h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=", + version = "v1.2.0", + ) go_repository( name = "com_github_docker_docker", @@ -825,8 +838,9 @@ def prysm_deps(): importpath = "github.com/ethereum/go-ethereum", patch_args = ["-p1"], patches = ["//third_party:com_github_ethereum_go_ethereum_secp256k1.patch"], - sum = "h1:DEYFP9zk+Gruf3ae1JOJVhNmxK28ee+sMELPLgYTXpA=", - version = "v1.10.13", + replace = "github.com/MariusVanDerWijden/go-ethereum", + sum = "h1:G4UDqAXzy3wElp6p51tYXyNia1AWb/7dsN1YoxpJl0g=", + version = "v1.8.22-0.20220310105427-50db9572db86", ) go_repository( @@ -1343,8 +1357,8 @@ def prysm_deps(): go_repository( name = "com_github_graph_gophers_graphql_go", importpath = "github.com/graph-gophers/graphql-go", - sum = "h1:sezaKhEfPFg8W0Enm61B9Gs911H8iesGY5R8NDPtd1M=", - version = "v0.0.0-20201113091052-beb923fada29", + sum = "h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0=", + version = "v1.3.0", ) go_repository( name = "com_github_gregjones_httpcache", @@ -1878,8 +1892,8 @@ def prysm_deps(): go_repository( name = "com_github_karalabe_usb", importpath = "github.com/karalabe/usb", - sum = "h1:0VWDXPNE0brOek1Q8bLfzKkvOzwbQE/snjGojlCr8CY=", - version = "v0.0.0-20211005121534-4c5740d64559", + sum = "h1:M6QQBNxF+CQ8OFvxrT90BA0qBOXymndZnk5q235mFc4=", + version = "v0.0.2", ) go_repository( @@ -2409,12 +2423,6 @@ def prysm_deps(): sum = "h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=", version = "v0.1.8", ) - go_repository( - name = "com_github_mattn_go_ieproxy", - importpath = "github.com/mattn/go-ieproxy", - sum = "h1:oNAwILwmgWKFpuU+dXvI6dl9jG2mAWAZLX3r9s0PPiw=", - version = "v0.0.0-20190702010315-6dee0af9227d", - ) go_repository( name = "com_github_mattn_go_isatty", @@ -2567,6 +2575,13 @@ def prysm_deps(): sum = "h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=", version = "v1.0.1", ) + go_repository( + name = "com_github_modocache_gover", + importpath = "github.com/modocache/gover", + sum = "h1:8Q0qkMVC/MmWkpIdlvZgcv2o2jrlF6zqVOh7W5YHdMA=", + version = "v0.0.0-20171022184752-b58185e213c5", + ) + go_repository( name = "com_github_mohae_deepcopy", importpath = "github.com/mohae/deepcopy", diff --git a/go.mod b/go.mod index 7d3eefcca4..06eca620c7 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/dgraph-io/ristretto v0.0.4-0.20210318174700-74754f61e018 github.com/dustin/go-humanize v1.0.0 github.com/emicklei/dot v0.11.0 - github.com/ethereum/go-ethereum v1.10.13 + github.com/ethereum/go-ethereum v1.10.15 github.com/ferranbt/fastssz v0.0.0-20210905181407-59cf6761a7d5 github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 github.com/fsnotify/fsnotify v1.4.9 @@ -31,6 +31,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway/v2 v2.0.1 github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d github.com/herumi/bls-eth-go-binary v0.0.0-20210917013441-d37c07cfda4e + github.com/holiman/uint256 v1.2.0 github.com/ianlancetaylor/cgosymbolizer v0.0.0-20200424224625-be1b05b0b279 github.com/ipfs/go-log/v2 v2.4.0 github.com/joonix/log v0.0.0-20200409080653-9c1d2ceb5f1d @@ -106,6 +107,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect + github.com/deckarep/golang-set v1.8.0 // indirect github.com/deepmap/oapi-codegen v1.8.2 // indirect github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48 // indirect @@ -121,7 +123,7 @@ require ( github.com/google/go-cmp v0.5.5 // indirect github.com/google/gopacket v1.1.19 // indirect github.com/gorilla/websocket v1.4.2 // indirect - github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29 // indirect + github.com/graph-gophers/graphql-go v1.3.0 // indirect github.com/hashicorp/go-bexpr v0.1.10 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/huin/goupnp v1.0.2 // indirect @@ -134,7 +136,7 @@ require ( github.com/jackpal/go-nat-pmp v1.0.2 // indirect github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a // indirect - github.com/karalabe/usb v0.0.0-20211005121534-4c5740d64559 // indirect + github.com/karalabe/usb v0.0.2 // indirect github.com/klauspost/compress v1.11.7 // indirect github.com/klauspost/cpuid/v2 v2.0.9 // indirect github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect @@ -245,13 +247,11 @@ require ( github.com/allegro/bigcache v1.2.1 // indirect github.com/cespare/cp v1.1.1 // indirect github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf // indirect - github.com/deckarep/golang-set v1.7.1 // indirect github.com/fatih/color v1.9.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect github.com/go-logr/logr v0.2.1 // indirect github.com/go-ole/go-ole v1.2.5 // indirect github.com/go-playground/validator/v10 v10.10.0 - github.com/holiman/uint256 v1.2.0 github.com/peterh/liner v1.2.0 // indirect github.com/prometheus/tsdb v0.10.0 // indirect github.com/prysmaticlabs/gohashtree v0.0.1-alpha.0.20220303211031-f753e083138c @@ -262,6 +262,8 @@ require ( k8s.io/utils v0.0.0-20200520001619-278ece378a50 // indirect ) +replace github.com/ethereum/go-ethereum => github.com/MariusVanDerWijden/go-ethereum v1.8.22-0.20220310105427-50db9572db86 + replace github.com/json-iterator/go => github.com/prestonvanloon/go v1.1.7-0.20190722034630-4f2e55fcf87b // See https://github.com/prysmaticlabs/grpc-gateway/issues/2 diff --git a/go.sum b/go.sum index 732888e98f..c2e1dba465 100644 --- a/go.sum +++ b/go.sum @@ -48,17 +48,14 @@ dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= @@ -66,6 +63,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/MariusVanDerWijden/go-ethereum v1.8.22-0.20220310105427-50db9572db86 h1:G4UDqAXzy3wElp6p51tYXyNia1AWb/7dsN1YoxpJl0g= +github.com/MariusVanDerWijden/go-ethereum v1.8.22-0.20220310105427-50db9572db86/go.mod h1:CCsGXufQRqVL3+3t9zMPvzcwFwYlLdZ6enPluWYM64k= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -217,9 +216,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= -github.com/deckarep/golang-set v1.7.1 h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ= -github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= @@ -236,6 +234,8 @@ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUn github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E= github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf h1:sh8rkQZavChcmakYiSlqu2425CHyFXLZZnvm7PDpU8M= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= @@ -264,8 +264,6 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.10.13 h1:DEYFP9zk+Gruf3ae1JOJVhNmxK28ee+sMELPLgYTXpA= -github.com/ethereum/go-ethereum v1.10.13/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= @@ -444,7 +442,6 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -468,8 +465,8 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= -github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29 h1:sezaKhEfPFg8W0Enm61B9Gs911H8iesGY5R8NDPtd1M= -github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/graph-gophers/graphql-go v1.3.0 h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/gregjones/httpcache v0.0.0-20170920190843-316c5e0ff04e/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -583,7 +580,6 @@ github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Ax github.com/ipfs/go-log/v2 v2.3.0/go.mod h1:QqGoj30OTpnKaG/LKTGTxoP2mmQtjVMEnK72gynbe/g= github.com/ipfs/go-log/v2 v2.4.0 h1:iR/2o9PGWanVJrBgIH5Ff8mPGOwpqLaPIAFqSnsdlzk= github.com/ipfs/go-log/v2 v2.4.0/go.mod h1:nPZnh7Cj7lwS3LpRU5Mwr2ol1c2gXIEXuF6aywqrtmo= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= @@ -622,8 +618,8 @@ github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213 h1:qGQQKEcAR99REcMpsXCp3lJ03zYT1PkRd3kQGPn9GVg= github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw= github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0= -github.com/karalabe/usb v0.0.0-20211005121534-4c5740d64559 h1:0VWDXPNE0brOek1Q8bLfzKkvOzwbQE/snjGojlCr8CY= -github.com/karalabe/usb v0.0.0-20211005121534-4c5740d64559/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/karalabe/usb v0.0.2 h1:M6QQBNxF+CQ8OFvxrT90BA0qBOXymndZnk5q235mFc4= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/kevinms/leakybucket-go v0.0.0-20200115003610-082473db97ca h1:qNtd6alRqd3qOdPrKXMZImV192ngQ0WSh1briEO33Tk= github.com/kevinms/leakybucket-go v0.0.0-20200115003610-082473db97ca/go.mod h1:ph+C5vpnCcQvKBwJwKLTK3JLNGnBXYlG7m7JjoC/zYA= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= @@ -855,8 +851,6 @@ github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.2/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -922,6 +916,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= @@ -1493,6 +1488,7 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -1503,6 +1499,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=