From e406036629586990875808e52d43e12d68364e49 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Tue, 20 Dec 2022 13:48:17 +0300 Subject: [PATCH] [#2166] go.mod: Update dependencies Signed-off-by: Evgenii Stratonikov --- CHANGELOG.md | 12 ++++-- .../internal/modules/morph/local_client.go | 2 +- go.mod | 39 +++++++++--------- go.sum | Bin 117279 -> 137417 bytes 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07732cc5..e33492a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,6 +76,12 @@ Changelog for NeoFS Node - `--header` from `neofs-cli object get` (#2090) ### Updated +- `neo-go` to `v0.100.0` +- `spf13/cobra` to `v1.6.1` +- `spf13/viper` to `v1.8.0` +- `google.golang.org/grpc` to `v1.50.1` + + ### Updating from v0.34.0 Pass CID and OID parameters via the `--cid` and `--oid` flags, not as the command arguments. @@ -89,9 +95,9 @@ to match the container owner. Use `--force` (`-f`) flag to bypass this requireme Tree service network replication can now be fine-tuned with `tree.replication_timeout` config field. -## [0.34.0] - 2022-10-31 - Marado (마라도, 馬羅島) + ## [0.34.0] - 2022-10-31 - Marado (마라도, 馬羅島) -### Added +# ## Added - `--timeout` flag in `neofs-cli control` commands (#1917) - Document shard modes of operation (#1909) - `tree list` CLI command (#1332) @@ -125,7 +131,7 @@ Tree service network replication can now be fine-tuned with `tree.replication_ti - `neo-go` to `v0.99.4` - `protoc` to `v3.21.7` - `neofs-sdk` to `v1.0.0-rc.7` - + ### Updating from v0.33.0 Now storage node serves Control API `SetNemapStatus` request with `MAINTENANCE` status only if the mode is allowed in the network settings. To force starting the local diff --git a/cmd/frostfs-adm/internal/modules/morph/local_client.go b/cmd/frostfs-adm/internal/modules/morph/local_client.go index 4217b740..9faf9644 100644 --- a/cmd/frostfs-adm/internal/modules/morph/local_client.go +++ b/cmd/frostfs-adm/internal/modules/morph/local_client.go @@ -55,7 +55,7 @@ func newLocalClient(cmd *cobra.Command, v *viper.Viper, wallets []*wallet.Wallet return nil, err } - bc, err := core.NewBlockchain(storage.NewMemoryStore(), cfg.ProtocolConfiguration, zap.NewNop()) + bc, err := core.NewBlockchain(storage.NewMemoryStore(), cfg.Blockchain(), zap.NewNop()) if err != nil { return nil, err } diff --git a/go.mod b/go.mod index 4f86da8e..cfc79a09 100644 --- a/go.mod +++ b/go.mod @@ -19,22 +19,22 @@ require ( github.com/mr-tron/base58 v1.2.0 github.com/multiformats/go-multiaddr v0.4.0 github.com/nats-io/nats.go v1.16.0 - github.com/nspcc-dev/neo-go v0.99.4 - github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20220927123257-24c107e3a262 // indirect + github.com/nspcc-dev/neo-go v0.100.0 + github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20221202075445-cb5c18dc73eb // indirect github.com/olekukonko/tablewriter v0.0.5 github.com/panjf2000/ants/v2 v2.4.0 github.com/paulmach/orb v0.2.2 github.com/prometheus/client_golang v1.13.0 github.com/spf13/cast v1.5.0 - github.com/spf13/cobra v1.5.0 + github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.12.0 - github.com/stretchr/testify v1.8.0 + github.com/spf13/viper v1.14.0 + github.com/stretchr/testify v1.8.1 go.etcd.io/bbolt v1.3.6 go.uber.org/atomic v1.10.0 - go.uber.org/zap v1.23.0 + go.uber.org/zap v1.24.0 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 - google.golang.org/grpc v1.48.0 + google.golang.org/grpc v1.50.1 google.golang.org/protobuf v1.28.1 gopkg.in/yaml.v3 v3.0.1 ) @@ -45,19 +45,18 @@ require ( github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect github.com/benbjohnson/clock v1.1.0 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/btcsuite/btcd v0.22.0-beta // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/coreos/go-semver v0.3.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.3 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/holiman/uint256 v1.2.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/go-cid v0.0.7 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect @@ -76,7 +75,7 @@ require ( github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22 // indirect github.com/nspcc-dev/rfc6979 v0.2.0 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.37.0 // indirect @@ -85,18 +84,18 @@ require ( github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/subosito/gotenv v1.4.0 // indirect + github.com/subosito/gotenv v1.4.1 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954 // indirect github.com/twmb/murmur3 v1.1.5 // indirect github.com/urfave/cli v1.22.5 // indirect go.uber.org/multierr v1.8.0 // indirect - golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect - golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect - golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect - golang.org/x/text v0.3.7 // indirect - google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252 // indirect - gopkg.in/ini.v1 v1.66.6 // indirect + golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect + golang.org/x/net v0.0.0-20221014081412-f15817d10f9b // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.0.0-20220908164124-27713097b956 // indirect + golang.org/x/text v0.4.0 // indirect + google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 997ed4199a683acf37d313f1ed65fa806f5a9486..fe3b562aeffcd45e9ebc78891d9820032e3e4da6 100644 GIT binary patch delta 18290 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 Kd%e%R>wg2@yA6c^ delta 3551 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