diff --git a/api/server/metrics.go b/api/server/metrics.go index 9734f36eeaa1..3ab65e8e15e7 100644 --- a/api/server/metrics.go +++ b/api/server/metrics.go @@ -4,12 +4,11 @@ package server import ( + "errors" "net/http" "time" "github.com/prometheus/client_golang/prometheus" - - "github.com/ava-labs/avalanchego/utils" ) type metrics struct { @@ -43,7 +42,7 @@ func newMetrics(registerer prometheus.Registerer) (*metrics, error) { ), } - err := utils.Err( + err := errors.Join( registerer.Register(m.numProcessing), registerer.Register(m.numCalls), registerer.Register(m.totalDuration), diff --git a/cache/metercacher/metrics.go b/cache/metercacher/metrics.go index c7587f62c979..65b72db6a46c 100644 --- a/cache/metercacher/metrics.go +++ b/cache/metercacher/metrics.go @@ -4,9 +4,9 @@ package metercacher import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) const ( @@ -78,7 +78,7 @@ func newMetrics( Help: "fraction of cache filled", }), } - return m, utils.Err( + return m, errors.Join( reg.Register(m.getCount), reg.Register(m.getTime), reg.Register(m.putCount), diff --git a/database/leveldb/metrics.go b/database/leveldb/metrics.go index d1edab6f98e7..194975f9675d 100644 --- a/database/leveldb/metrics.go +++ b/database/leveldb/metrics.go @@ -4,12 +4,11 @@ package leveldb import ( + "errors" "strconv" "github.com/prometheus/client_golang/prometheus" "github.com/syndtr/goleveldb/leveldb" - - "github.com/ava-labs/avalanchego/utils" ) var levelLabels = []string{"level"} @@ -161,7 +160,7 @@ func newMetrics(reg prometheus.Registerer) (metrics, error) { currentStats: &leveldb.DBStats{}, } - err := utils.Err( + err := errors.Join( reg.Register(m.writesDelayedCount), reg.Register(m.writesDelayedDuration), reg.Register(m.writeIsDelayed), diff --git a/database/meterdb/db.go b/database/meterdb/db.go index af41746b32e4..4ae864400a91 100644 --- a/database/meterdb/db.go +++ b/database/meterdb/db.go @@ -5,12 +5,12 @@ package meterdb import ( "context" + "errors" "time" "github.com/prometheus/client_golang/prometheus" "github.com/ava-labs/avalanchego/database" - "github.com/ava-labs/avalanchego/utils" ) const methodLabel = "method" @@ -125,7 +125,7 @@ func New( methodLabels, ), } - return meterDB, utils.Err( + return meterDB, errors.Join( reg.Register(meterDB.calls), reg.Register(meterDB.duration), reg.Register(meterDB.size), diff --git a/genesis/config.go b/genesis/config.go index 62b57c77f923..f09c5df07a89 100644 --- a/genesis/config.go +++ b/genesis/config.go @@ -177,7 +177,7 @@ func init() { unparsedFujiConfig := UnparsedConfig{} unparsedLocalConfig := UnparsedConfig{} - err := utils.Err( + err := errors.Join( json.Unmarshal(mainnetGenesisConfigJSON, &unparsedMainnetConfig), json.Unmarshal(fujiGenesisConfigJSON, &unparsedFujiConfig), json.Unmarshal(localGenesisConfigJSON, &unparsedLocalConfig), diff --git a/indexer/index.go b/indexer/index.go index 16a127c9795b..188658c16ca6 100644 --- a/indexer/index.go +++ b/indexer/index.go @@ -15,7 +15,6 @@ import ( "github.com/ava-labs/avalanchego/database/versiondb" "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/logging" "github.com/ava-labs/avalanchego/utils/timer/mockable" ) @@ -99,7 +98,7 @@ func newIndex( // Close this index func (i *index) Close() error { - return utils.Err( + return errors.Join( i.indexToContainer.Close(), i.containerToIndex.Close(), i.vDB.Close(), diff --git a/message/messages.go b/message/messages.go index 06ef3125d69a..4be13de729b4 100644 --- a/message/messages.go +++ b/message/messages.go @@ -13,7 +13,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/proto/pb/p2p" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/compression" "github.com/ava-labs/avalanchego/utils/constants" "github.com/ava-labs/avalanchego/utils/logging" @@ -178,7 +177,7 @@ func newMsgBuilder( maxMessageTimeout: maxMessageTimeout, } - return mb, utils.Err( + return mb, errors.Join( metrics.Register(mb.count), metrics.Register(mb.duration), ) diff --git a/network/ip_tracker.go b/network/ip_tracker.go index 370c7d47da92..47cb032fc7a4 100644 --- a/network/ip_tracker.go +++ b/network/ip_tracker.go @@ -5,6 +5,7 @@ package network import ( "crypto/rand" + "errors" "sync" "github.com/prometheus/client_golang/prometheus" @@ -12,7 +13,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow/validators" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/bloom" "github.com/ava-labs/avalanchego/utils/crypto/bls" "github.com/ava-labs/avalanchego/utils/ips" @@ -63,7 +63,7 @@ func newIPTracker( connected: make(map[ids.NodeID]*ips.ClaimedIPPort), gossipableIndices: make(map[ids.NodeID]int), } - err = utils.Err( + err = errors.Join( registerer.Register(tracker.numTrackedIPs), registerer.Register(tracker.numGossipableIPs), ) diff --git a/network/metrics.go b/network/metrics.go index 8cc5155ec102..9702e821b246 100644 --- a/network/metrics.go +++ b/network/metrics.go @@ -4,6 +4,7 @@ package network import ( + "errors" "sync" "time" @@ -11,7 +12,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/network/peer" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/set" ) @@ -135,7 +135,7 @@ func newMetrics( peerConnectedStartTimes: make(map[ids.NodeID]float64), } - err := utils.Err( + err := errors.Join( registerer.Register(m.numTracked), registerer.Register(m.numPeers), registerer.Register(m.numSubnetPeers), diff --git a/network/p2p/gossip/gossip.go b/network/p2p/gossip/gossip.go index 918f19ca5ba0..1562093c41e2 100644 --- a/network/p2p/gossip/gossip.go +++ b/network/p2p/gossip/gossip.go @@ -17,7 +17,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/network/p2p" "github.com/ava-labs/avalanchego/snow/engine/common" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/bloom" "github.com/ava-labs/avalanchego/utils/buffer" "github.com/ava-labs/avalanchego/utils/logging" @@ -150,7 +149,7 @@ func NewMetrics( typeLabels, ), } - err := utils.Err( + err := errors.Join( metrics.Register(m.count), metrics.Register(m.bytes), metrics.Register(m.tracking), diff --git a/network/p2p/network.go b/network/p2p/network.go index dd7bac73aa7b..491b35bbe9b9 100644 --- a/network/p2p/network.go +++ b/network/p2p/network.go @@ -6,6 +6,7 @@ package p2p import ( "context" "encoding/binary" + "errors" "strconv" "sync" "time" @@ -15,7 +16,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow/engine/common" "github.com/ava-labs/avalanchego/snow/validators" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/logging" "github.com/ava-labs/avalanchego/utils/set" "github.com/ava-labs/avalanchego/version" @@ -81,7 +81,7 @@ func NewNetwork( ), } - err := utils.Err( + err := errors.Join( registerer.Register(metrics.msgTime), registerer.Register(metrics.msgCount), ) diff --git a/network/p2p/peer_tracker.go b/network/p2p/peer_tracker.go index 31a4fb61cbb8..e4d9a07c27b2 100644 --- a/network/p2p/peer_tracker.go +++ b/network/p2p/peer_tracker.go @@ -4,6 +4,7 @@ package p2p import ( + "errors" "math" "math/rand" "sync" @@ -13,7 +14,6 @@ import ( "go.uber.org/zap" "github.com/ava-labs/avalanchego/ids" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/heap" "github.com/ava-labs/avalanchego/utils/logging" "github.com/ava-labs/avalanchego/utils/set" @@ -113,7 +113,7 @@ func NewPeerTracker( }, } - err := utils.Err( + err := errors.Join( registerer.Register(t.metrics.numTrackedPeers), registerer.Register(t.metrics.numResponsivePeers), registerer.Register(t.metrics.averageBandwidth), diff --git a/network/peer/metrics.go b/network/peer/metrics.go index 7547d7a827d4..6747a577abc0 100644 --- a/network/peer/metrics.go +++ b/network/peer/metrics.go @@ -4,12 +4,12 @@ package peer import ( + "errors" "strconv" "github.com/prometheus/client_golang/prometheus" "github.com/ava-labs/avalanchego/message" - "github.com/ava-labs/avalanchego/utils" ) const ( @@ -82,7 +82,7 @@ func NewMetrics(registerer prometheus.Registerer) (*Metrics, error) { ioOpLabels, ), } - return m, utils.Err( + return m, errors.Join( registerer.Register(m.ClockSkewCount), registerer.Register(m.ClockSkewSum), registerer.Register(m.NumFailedToParse), diff --git a/network/throttling/inbound_resource_throttler.go b/network/throttling/inbound_resource_throttler.go index eb0e939b8d9e..eb915e03232c 100644 --- a/network/throttling/inbound_resource_throttler.go +++ b/network/throttling/inbound_resource_throttler.go @@ -5,6 +5,7 @@ package throttling import ( "context" + "errors" "fmt" "sync" "time" @@ -13,7 +14,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow/networking/tracker" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/timer/mockable" ) @@ -80,7 +80,7 @@ func newSystemThrottlerMetrics(namespace string, reg prometheus.Registerer) (*sy Help: "Number of nodes we're waiting to read a message from because their usage is too high", }), } - err := utils.Err( + err := errors.Join( reg.Register(m.totalWaits), reg.Register(m.totalNoWaits), reg.Register(m.awaitingAcquire), diff --git a/network/throttling/outbound_msg_throttler.go b/network/throttling/outbound_msg_throttler.go index b27fe01060dc..4eeeb30cf46e 100644 --- a/network/throttling/outbound_msg_throttler.go +++ b/network/throttling/outbound_msg_throttler.go @@ -4,13 +4,14 @@ package throttling import ( + "errors" + "github.com/prometheus/client_golang/prometheus" "go.uber.org/zap" "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/message" "github.com/ava-labs/avalanchego/snow/validators" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/constants" "github.com/ava-labs/avalanchego/utils/logging" ) @@ -196,7 +197,7 @@ func (m *outboundMsgThrottlerMetrics) initialize(registerer prometheus.Registere Name: "throttler_outbound_awaiting_release", Help: "Number of messages waiting to be sent", }) - return utils.Err( + return errors.Join( registerer.Register(m.acquireSuccesses), registerer.Register(m.acquireFailures), registerer.Register(m.remainingAtLargeBytes), diff --git a/node/node.go b/node/node.go index c7d1b1991e5c..2be24203f5e3 100644 --- a/node/node.go +++ b/node/node.go @@ -1217,7 +1217,7 @@ func (n *Node) initVMs() error { // Register the VMs that Avalanche supports eUpgradeTime := version.GetEUpgradeTime(n.Config.NetworkID) - err := utils.Err( + err := errors.Join( n.VMManager.RegisterFactory(context.TODO(), constants.PlatformVMID, &platformvm.Factory{ Config: platformconfig.Config{ Chains: n.chainManager, diff --git a/snow/engine/avalanche/bootstrap/metrics.go b/snow/engine/avalanche/bootstrap/metrics.go index fdf68f5ecff2..5751389eb924 100644 --- a/snow/engine/avalanche/bootstrap/metrics.go +++ b/snow/engine/avalanche/bootstrap/metrics.go @@ -4,9 +4,9 @@ package bootstrap import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) type metrics struct { @@ -33,7 +33,7 @@ func (m *metrics) Initialize(registerer prometheus.Registerer) error { Help: "Number of transactions accepted during bootstrapping", }) - return utils.Err( + return errors.Join( registerer.Register(m.numFetchedVts), registerer.Register(m.numAcceptedVts), registerer.Register(m.numFetchedTxs), diff --git a/snow/engine/avalanche/bootstrap/queue/jobs.go b/snow/engine/avalanche/bootstrap/queue/jobs.go index a8955a8da079..4becc8d3224f 100644 --- a/snow/engine/avalanche/bootstrap/queue/jobs.go +++ b/snow/engine/avalanche/bootstrap/queue/jobs.go @@ -5,6 +5,7 @@ package queue import ( "context" + "errors" "fmt" "time" @@ -16,7 +17,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow" "github.com/ava-labs/avalanchego/snow/engine/common" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/set" "github.com/ava-labs/avalanchego/utils/timer" ) @@ -424,7 +424,7 @@ func (jm *JobsWithMissing) cleanRunnableStack(ctx context.Context) error { } } - return utils.Err( + return errors.Join( runnableJobsIter.Error(), jm.Commit(), ) diff --git a/snow/engine/avalanche/bootstrap/queue/state.go b/snow/engine/avalanche/bootstrap/queue/state.go index 76bce7c838c1..9ad87d682453 100644 --- a/snow/engine/avalanche/bootstrap/queue/state.go +++ b/snow/engine/avalanche/bootstrap/queue/state.go @@ -5,6 +5,7 @@ package queue import ( "context" + "errors" "fmt" "github.com/prometheus/client_golang/prometheus" @@ -15,7 +16,6 @@ import ( "github.com/ava-labs/avalanchego/database/linkeddb" "github.com/ava-labs/avalanchego/database/prefixdb" "github.com/ava-labs/avalanchego/ids" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/metric" "github.com/ava-labs/avalanchego/utils/set" ) @@ -153,7 +153,7 @@ func (s *state) Clear() error { return err } - return utils.Err( + return errors.Join( runJobsIter.Error(), jobsIter.Error(), depsIter.Error(), diff --git a/snow/engine/avalanche/vertex/codec.go b/snow/engine/avalanche/vertex/codec.go index 3a55f443467e..4a17526f61bd 100644 --- a/snow/engine/avalanche/vertex/codec.go +++ b/snow/engine/avalanche/vertex/codec.go @@ -4,10 +4,11 @@ package vertex import ( + "errors" + "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" "github.com/ava-labs/avalanchego/codec/reflectcodec" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/units" ) @@ -26,7 +27,7 @@ func init() { lc1 := linearcodec.New([]string{reflectcodec.DefaultTagName + "V1"}) Codec = codec.NewManager(maxSize) - err := utils.Err( + err := errors.Join( Codec.RegisterCodec(CodecVersion, lc0), Codec.RegisterCodec(CodecVersionWithStopVtx, lc1), ) diff --git a/snow/engine/common/tracker/peers.go b/snow/engine/common/tracker/peers.go index 94ed46764785..543933df43c2 100644 --- a/snow/engine/common/tracker/peers.go +++ b/snow/engine/common/tracker/peers.go @@ -5,13 +5,13 @@ package tracker import ( "context" + "errors" "sync" "github.com/prometheus/client_golang/prometheus" "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow/validators" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/crypto/bls" "github.com/ava-labs/avalanchego/utils/set" "github.com/ava-labs/avalanchego/version" @@ -126,7 +126,7 @@ func NewMeteredPeers(reg prometheus.Registerer) (Peers, error) { Name: "num_validators", Help: "Total number of validators", }) - err := utils.Err( + err := errors.Join( reg.Register(percentConnected), reg.Register(totalWeight), reg.Register(numValidators), diff --git a/snow/engine/snowman/bootstrap/metrics.go b/snow/engine/snowman/bootstrap/metrics.go index 7b28b8b969b7..db7dfd772cf2 100644 --- a/snow/engine/snowman/bootstrap/metrics.go +++ b/snow/engine/snowman/bootstrap/metrics.go @@ -4,9 +4,9 @@ package bootstrap import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) type metrics struct { @@ -25,7 +25,7 @@ func newMetrics(registerer prometheus.Registerer) (*metrics, error) { }), } - err := utils.Err( + err := errors.Join( registerer.Register(m.numFetched), registerer.Register(m.numAccepted), ) diff --git a/snow/networking/benchlist/benchlist.go b/snow/networking/benchlist/benchlist.go index 453395379435..05934ed2fce5 100644 --- a/snow/networking/benchlist/benchlist.go +++ b/snow/networking/benchlist/benchlist.go @@ -4,6 +4,7 @@ package benchlist import ( + "errors" "fmt" "math/rand" "sync" @@ -15,7 +16,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow" "github.com/ava-labs/avalanchego/snow/validators" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/heap" "github.com/ava-labs/avalanchego/utils/set" "github.com/ava-labs/avalanchego/utils/timer/mockable" @@ -130,7 +130,7 @@ func NewBenchlist( maxPortion: maxPortion, } - err := utils.Err( + err := errors.Join( reg.Register(benchlist.numBenched), reg.Register(benchlist.weightBenched), ) diff --git a/snow/networking/handler/message_queue_metrics.go b/snow/networking/handler/message_queue_metrics.go index 827edbf5c162..03600fb65b08 100644 --- a/snow/networking/handler/message_queue_metrics.go +++ b/snow/networking/handler/message_queue_metrics.go @@ -4,9 +4,10 @@ package handler import ( + "errors" + "github.com/prometheus/client_golang/prometheus" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/metric" ) @@ -44,7 +45,7 @@ func (m *messageQueueMetrics) initialize( Help: "times a message has been deferred due to excessive CPU usage", }) - return utils.Err( + return errors.Join( metricsRegisterer.Register(m.count), metricsRegisterer.Register(m.nodesWithMessages), metricsRegisterer.Register(m.numExcessiveCPU), diff --git a/snow/networking/handler/metrics.go b/snow/networking/handler/metrics.go index f3a21149f26c..1e143a6c98be 100644 --- a/snow/networking/handler/metrics.go +++ b/snow/networking/handler/metrics.go @@ -4,9 +4,9 @@ package handler import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) type metrics struct { @@ -44,7 +44,7 @@ func newMetrics(reg prometheus.Registerer) (*metrics, error) { Help: "time spent acquiring the context lock", }), } - return m, utils.Err( + return m, errors.Join( reg.Register(m.expired), reg.Register(m.messages), reg.Register(m.messageHandlingTime), diff --git a/snow/networking/router/chain_router_metrics.go b/snow/networking/router/chain_router_metrics.go index 8855acc5ccdf..2c17326618ad 100644 --- a/snow/networking/router/chain_router_metrics.go +++ b/snow/networking/router/chain_router_metrics.go @@ -4,9 +4,9 @@ package router import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) // routerMetrics about router messages @@ -37,7 +37,7 @@ func newRouterMetrics(registerer prometheus.Registerer) (*routerMetrics, error) }, ) - err := utils.Err( + err := errors.Join( registerer.Register(rMetrics.outstandingRequests), registerer.Register(rMetrics.longestRunningRequest), registerer.Register(rMetrics.droppedRequests), diff --git a/snow/networking/timeout/metrics.go b/snow/networking/timeout/metrics.go index 3f217d5f7ad7..b109e866db3c 100644 --- a/snow/networking/timeout/metrics.go +++ b/snow/networking/timeout/metrics.go @@ -4,6 +4,7 @@ package timeout import ( + "errors" "sync" "time" @@ -12,7 +13,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/message" "github.com/ava-labs/avalanchego/snow" - "github.com/ava-labs/avalanchego/utils" ) const ( @@ -48,7 +48,7 @@ func newTimeoutMetrics(reg prometheus.Registerer) (*timeoutMetrics, error) { ), chainIDToAlias: make(map[ids.ID]string), } - return m, utils.Err( + return m, errors.Join( reg.Register(m.messages), reg.Register(m.messageLatencies), ) diff --git a/snow/networking/tracker/resource_tracker.go b/snow/networking/tracker/resource_tracker.go index d8f5da99192f..1e7e256dfaf9 100644 --- a/snow/networking/tracker/resource_tracker.go +++ b/snow/networking/tracker/resource_tracker.go @@ -4,6 +4,7 @@ package tracker import ( + "errors" "fmt" "sync" "time" @@ -11,7 +12,6 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/ava-labs/avalanchego/ids" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/linked" "github.com/ava-labs/avalanchego/utils/math/meter" "github.com/ava-labs/avalanchego/utils/resource" @@ -316,7 +316,7 @@ func newCPUTrackerMetrics(reg prometheus.Registerer) (*trackerMetrics, error) { Help: "Available space remaining (bytes) on the database volume", }), } - err := utils.Err( + err := errors.Join( reg.Register(m.processingTimeMetric), reg.Register(m.cpuMetric), reg.Register(m.diskReadsMetric), diff --git a/utils/bloom/metrics.go b/utils/bloom/metrics.go index 7e33edc5c069..a71d50f067a1 100644 --- a/utils/bloom/metrics.go +++ b/utils/bloom/metrics.go @@ -4,9 +4,9 @@ package bloom import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) // Metrics is a collection of commonly useful metrics when using a long-lived @@ -50,7 +50,7 @@ func NewMetrics( Help: "Number times the bloom has been reset", }), } - err := utils.Err( + err := errors.Join( registerer.Register(m.Count), registerer.Register(m.NumHashes), registerer.Register(m.NumEntries), diff --git a/utils/error.go b/utils/error.go deleted file mode 100644 index 0a6a9f323e03..000000000000 --- a/utils/error.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. -// See the file LICENSE for licensing terms. - -package utils - -func Err(errors ...error) error { - for _, err := range errors { - if err != nil { - return err - } - } - return nil -} diff --git a/utils/metric/api_interceptor.go b/utils/metric/api_interceptor.go index 50027fde1478..1d4520e3fd94 100644 --- a/utils/metric/api_interceptor.go +++ b/utils/metric/api_interceptor.go @@ -5,13 +5,12 @@ package metric import ( "context" + "errors" "net/http" "time" "github.com/gorilla/rpc/v2" "github.com/prometheus/client_golang/prometheus" - - "github.com/ava-labs/avalanchego/utils" ) type APIInterceptor interface { @@ -51,7 +50,7 @@ func NewAPIInterceptor(registerer prometheus.Registerer) (APIInterceptor, error) []string{"method"}, ) - err := utils.Err( + err := errors.Join( registerer.Register(requestDurationCount), registerer.Register(requestDurationSum), registerer.Register(requestErrors), diff --git a/utils/resource/metrics.go b/utils/resource/metrics.go index 42d12f1ccc74..01cdec5e15b9 100644 --- a/utils/resource/metrics.go +++ b/utils/resource/metrics.go @@ -4,9 +4,9 @@ package resource import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) type metrics struct { @@ -55,7 +55,7 @@ func newMetrics(registerer prometheus.Registerer) (*metrics, error) { []string{"processID"}, ), } - err := utils.Err( + err := errors.Join( registerer.Register(m.numCPUCycles), registerer.Register(m.numDiskReads), registerer.Register(m.numDiskReadBytes), diff --git a/utils/timer/adaptive_timeout_manager.go b/utils/timer/adaptive_timeout_manager.go index 5d8670bb56e2..1ad399e070d6 100644 --- a/utils/timer/adaptive_timeout_manager.go +++ b/utils/timer/adaptive_timeout_manager.go @@ -12,7 +12,6 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/ava-labs/avalanchego/ids" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/heap" "github.com/ava-labs/avalanchego/utils/math" "github.com/ava-labs/avalanchego/utils/timer/mockable" @@ -133,7 +132,7 @@ func NewAdaptiveTimeoutManager( tm.timer = NewTimer(tm.timeout) tm.averager = math.NewAverager(float64(config.InitialTimeout), config.TimeoutHalflife, tm.clock.Time()) - err := utils.Err( + err := errors.Join( reg.Register(tm.networkTimeoutMetric), reg.Register(tm.avgLatency), reg.Register(tm.numTimeouts), diff --git a/vms/avm/block/parser.go b/vms/avm/block/parser.go index bfae841093d1..f5597d8e3f4a 100644 --- a/vms/avm/block/parser.go +++ b/vms/avm/block/parser.go @@ -4,10 +4,10 @@ package block import ( + "errors" "reflect" "github.com/ava-labs/avalanchego/codec" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/logging" "github.com/ava-labs/avalanchego/utils/timer/mockable" "github.com/ava-labs/avalanchego/vms/avm/fxs" @@ -38,7 +38,7 @@ func NewParser(fxs []fxs.Fx) (Parser, error) { c := p.CodecRegistry() gc := p.GenesisCodecRegistry() - err = utils.Err( + err = errors.Join( c.RegisterType(&StandardBlock{}), gc.RegisterType(&StandardBlock{}), ) @@ -60,7 +60,7 @@ func NewCustomParser( c := p.CodecRegistry() gc := p.GenesisCodecRegistry() - err = utils.Err( + err = errors.Join( c.RegisterType(&StandardBlock{}), gc.RegisterType(&StandardBlock{}), ) diff --git a/vms/avm/state/state.go b/vms/avm/state/state.go index 5005eb3dfc14..4230a4f72bdf 100644 --- a/vms/avm/state/state.go +++ b/vms/avm/state/state.go @@ -4,6 +4,7 @@ package state import ( + "errors" "fmt" "time" @@ -15,7 +16,6 @@ import ( "github.com/ava-labs/avalanchego/database/prefixdb" "github.com/ava-labs/avalanchego/database/versiondb" "github.com/ava-labs/avalanchego/ids" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/vms/avm/block" "github.com/ava-labs/avalanchego/vms/avm/txs" "github.com/ava-labs/avalanchego/vms/components/avax" @@ -408,7 +408,7 @@ func (s *state) CommitBatch() (database.Batch, error) { } func (s *state) Close() error { - return utils.Err( + return errors.Join( s.utxoDB.Close(), s.txDB.Close(), s.blockIDDB.Close(), @@ -419,7 +419,7 @@ func (s *state) Close() error { } func (s *state) write() error { - return utils.Err( + return errors.Join( s.writeUTXOs(), s.writeTxs(), s.writeBlockIDs(), diff --git a/vms/avm/txs/parser.go b/vms/avm/txs/parser.go index c5b7fe19edc0..9dd3d3e4fa65 100644 --- a/vms/avm/txs/parser.go +++ b/vms/avm/txs/parser.go @@ -4,13 +4,13 @@ package txs import ( + "errors" "fmt" "math" "reflect" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/logging" "github.com/ava-labs/avalanchego/utils/timer/mockable" "github.com/ava-labs/avalanchego/vms/avm/fxs" @@ -60,7 +60,7 @@ func NewCustomParser( gcm := codec.NewManager(math.MaxInt32) cm := codec.NewDefaultManager() - err := utils.Err( + err := errors.Join( c.RegisterType(&BaseTx{}), c.RegisterType(&CreateAssetTx{}), c.RegisterType(&OperationTx{}), diff --git a/vms/avm/vm.go b/vms/avm/vm.go index 284243693349..e83e7cd9ea7a 100644 --- a/vms/avm/vm.go +++ b/vms/avm/vm.go @@ -26,7 +26,6 @@ import ( "github.com/ava-labs/avalanchego/snow/consensus/snowstorm" "github.com/ava-labs/avalanchego/snow/engine/avalanche/vertex" "github.com/ava-labs/avalanchego/snow/engine/common" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/json" "github.com/ava-labs/avalanchego/utils/linked" "github.com/ava-labs/avalanchego/utils/set" @@ -320,7 +319,7 @@ func (vm *VM) Shutdown(context.Context) error { vm.onShutdownCtxCancel() vm.awaitShutdown.Wait() - return utils.Err( + return errors.Join( vm.state.Close(), vm.baseDB.Close(), ) diff --git a/vms/components/keystore/codec.go b/vms/components/keystore/codec.go index 4e5a01db6dd0..1837cc576229 100644 --- a/vms/components/keystore/codec.go +++ b/vms/components/keystore/codec.go @@ -4,11 +4,11 @@ package keystore import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" ) const CodecVersion = 0 @@ -24,7 +24,7 @@ func init() { lc := linearcodec.NewDefault() LegacyCodec = codec.NewManager(math.MaxInt32) - err := utils.Err( + err := errors.Join( Codec.RegisterCodec(CodecVersion, c), LegacyCodec.RegisterCodec(CodecVersion, lc), ) diff --git a/vms/example/xsvm/execute/tx.go b/vms/example/xsvm/execute/tx.go index f3f6ad504de4..2755cd83f3c9 100644 --- a/vms/example/xsvm/execute/tx.go +++ b/vms/example/xsvm/execute/tx.go @@ -11,7 +11,6 @@ import ( "github.com/ava-labs/avalanchego/ids" "github.com/ava-labs/avalanchego/snow" "github.com/ava-labs/avalanchego/snow/engine/snowman/block" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/hashing" "github.com/ava-labs/avalanchego/utils/wrappers" "github.com/ava-labs/avalanchego/vms/example/xsvm/state" @@ -56,7 +55,7 @@ func (t *Tx) Transfer(tf *tx.Transfer) error { return errWrongChainID } - return utils.Err( + return errors.Join( state.IncrementNonce(t.Database, t.Sender, tf.Nonce), state.DecreaseBalance(t.Database, t.Sender, tf.ChainID, t.TransferFee), state.DecreaseBalance(t.Database, t.Sender, tf.AssetID, tf.Amount), diff --git a/vms/example/xsvm/tx/codec.go b/vms/example/xsvm/tx/codec.go index 4ba775abb3f4..bbe4e2a9db11 100644 --- a/vms/example/xsvm/tx/codec.go +++ b/vms/example/xsvm/tx/codec.go @@ -4,11 +4,11 @@ package tx import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" ) const CodecVersion = 0 @@ -19,7 +19,7 @@ func init() { c := linearcodec.NewDefault() Codec = codec.NewManager(math.MaxInt32) - err := utils.Err( + err := errors.Join( c.RegisterType(&Transfer{}), c.RegisterType(&Export{}), c.RegisterType(&Import{}), diff --git a/vms/nftfx/fx.go b/vms/nftfx/fx.go index 66ea9460b56b..e00cb6fa5a0d 100644 --- a/vms/nftfx/fx.go +++ b/vms/nftfx/fx.go @@ -7,7 +7,6 @@ import ( "bytes" "errors" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/vms/components/verify" "github.com/ava-labs/avalanchego/vms/secp256k1fx" ) @@ -34,7 +33,7 @@ func (fx *Fx) Initialize(vmIntf interface{}) error { log.Debug("initializing nft fx") c := fx.VM.CodecRegistry() - return utils.Err( + return errors.Join( c.RegisterType(&MintOutput{}), c.RegisterType(&TransferOutput{}), c.RegisterType(&MintOperation{}), diff --git a/vms/platformvm/block/codec.go b/vms/platformvm/block/codec.go index f0f66a414811..16797459e525 100644 --- a/vms/platformvm/block/codec.go +++ b/vms/platformvm/block/codec.go @@ -4,11 +4,11 @@ package block import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/wrappers" "github.com/ava-labs/avalanchego/vms/platformvm/txs" ) @@ -55,7 +55,7 @@ func init() { // subpackage-level codecs were introduced, each handling serialization of // specific types. func RegisterApricotBlockTypes(targetCodec codec.Registry) error { - return utils.Err( + return errors.Join( targetCodec.RegisterType(&ApricotProposalBlock{}), targetCodec.RegisterType(&ApricotAbortBlock{}), targetCodec.RegisterType(&ApricotCommitBlock{}), @@ -65,7 +65,7 @@ func RegisterApricotBlockTypes(targetCodec codec.Registry) error { } func RegisterBanffBlockTypes(targetCodec codec.Registry) error { - return utils.Err( + return errors.Join( targetCodec.RegisterType(&BanffProposalBlock{}), targetCodec.RegisterType(&BanffAbortBlock{}), targetCodec.RegisterType(&BanffCommitBlock{}), diff --git a/vms/platformvm/state/metadata_codec.go b/vms/platformvm/state/metadata_codec.go index f2f5478a89d3..637059997d2c 100644 --- a/vms/platformvm/state/metadata_codec.go +++ b/vms/platformvm/state/metadata_codec.go @@ -4,11 +4,11 @@ package state import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" ) const ( @@ -26,7 +26,7 @@ func init() { c1 := linearcodec.New([]string{CodecVersion0Tag, CodecVersion1Tag}) MetadataCodec = codec.NewManager(math.MaxInt32) - err := utils.Err( + err := errors.Join( MetadataCodec.RegisterCodec(CodecVersion0, c0), MetadataCodec.RegisterCodec(CodecVersion1, c1), ) diff --git a/vms/platformvm/state/state.go b/vms/platformvm/state/state.go index 2c090422e06d..74b71dadf8a2 100644 --- a/vms/platformvm/state/state.go +++ b/vms/platformvm/state/state.go @@ -26,7 +26,6 @@ import ( "github.com/ava-labs/avalanchego/snow/choices" "github.com/ava-labs/avalanchego/snow/uptime" "github.com/ava-labs/avalanchego/snow/validators" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/constants" "github.com/ava-labs/avalanchego/utils/crypto/bls" "github.com/ava-labs/avalanchego/utils/hashing" @@ -1272,7 +1271,7 @@ func (s *state) syncGenesis(genesisBlk block.Block, genesis *genesis.Genesis) er // Load pulls data previously stored on disk that is expected to be in memory. func (s *state) load() error { - return utils.Err( + return errors.Join( s.loadMetadata(), s.loadCurrentValidators(), s.loadPendingValidators(), @@ -1493,7 +1492,7 @@ func (s *state) loadCurrentValidators() error { } } - return utils.Err( + return errors.Join( validatorIt.Error(), subnetValidatorIt.Error(), delegatorIt.Error(), @@ -1577,7 +1576,7 @@ func (s *state) loadPendingValidators() error { } } - return utils.Err( + return errors.Join( validatorIt.Error(), subnetValidatorIt.Error(), delegatorIt.Error(), @@ -1627,7 +1626,7 @@ func (s *state) write(updateValidators bool, height uint64) error { codecVersion = CodecVersion0 } - return utils.Err( + return errors.Join( s.writeBlocks(), s.writeCurrentStakers(updateValidators, height, codecVersion), s.writePendingStakers(), @@ -1645,7 +1644,7 @@ func (s *state) write(updateValidators bool, height uint64) error { } func (s *state) Close() error { - return utils.Err( + return errors.Join( s.pendingSubnetValidatorBaseDB.Close(), s.pendingSubnetDelegatorBaseDB.Close(), s.pendingDelegatorBaseDB.Close(), @@ -2383,7 +2382,7 @@ func (s *state) ReindexBlocks(lock sync.Locker, log logging.Logger) error { // attempt to commit to disk while a block is concurrently being // accepted. lock.Lock() - err := utils.Err( + err := errors.Join( s.Commit(), blockIterator.Error(), ) diff --git a/vms/platformvm/txs/codec.go b/vms/platformvm/txs/codec.go index a93477af7074..809fb61e2899 100644 --- a/vms/platformvm/txs/codec.go +++ b/vms/platformvm/txs/codec.go @@ -4,11 +4,11 @@ package txs import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/wrappers" "github.com/ava-labs/avalanchego/vms/platformvm/signer" "github.com/ava-labs/avalanchego/vms/platformvm/stakeable" @@ -104,7 +104,7 @@ func RegisterUnsignedTxsTypes(targetCodec linearcodec.Codec) error { } func RegisterDUnsignedTxsTypes(targetCodec linearcodec.Codec) error { - return utils.Err( + return errors.Join( targetCodec.RegisterType(&TransferSubnetOwnershipTx{}), targetCodec.RegisterType(&BaseTx{}), ) diff --git a/vms/platformvm/vm.go b/vms/platformvm/vm.go index efbfe0fa5453..203688d23136 100644 --- a/vms/platformvm/vm.go +++ b/vms/platformvm/vm.go @@ -413,7 +413,7 @@ func (vm *VM) Shutdown(context.Context) error { } } - return utils.Err( + return errors.Join( vm.state.Close(), vm.db.Close(), ) diff --git a/vms/platformvm/warp/codec.go b/vms/platformvm/warp/codec.go index 8d2193827346..6ab7c2d8e446 100644 --- a/vms/platformvm/warp/codec.go +++ b/vms/platformvm/warp/codec.go @@ -4,11 +4,11 @@ package warp import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" ) const CodecVersion = 0 @@ -19,7 +19,7 @@ func init() { Codec = codec.NewManager(math.MaxInt) lc := linearcodec.NewDefault() - err := utils.Err( + err := errors.Join( lc.RegisterType(&BitSetSignature{}), Codec.RegisterCodec(CodecVersion, lc), ) diff --git a/vms/platformvm/warp/payload/codec.go b/vms/platformvm/warp/payload/codec.go index b89db089d454..4b7cd7270d52 100644 --- a/vms/platformvm/warp/payload/codec.go +++ b/vms/platformvm/warp/payload/codec.go @@ -4,9 +4,10 @@ package payload import ( + "errors" + "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/units" ) @@ -22,7 +23,7 @@ func init() { Codec = codec.NewManager(MaxMessageSize) lc := linearcodec.NewDefault() - err := utils.Err( + err := errors.Join( lc.RegisterType(&Hash{}), lc.RegisterType(&AddressedCall{}), Codec.RegisterCodec(CodecVersion, lc), diff --git a/vms/propertyfx/fx.go b/vms/propertyfx/fx.go index 24a3dff171cb..e6c3528fe229 100644 --- a/vms/propertyfx/fx.go +++ b/vms/propertyfx/fx.go @@ -6,7 +6,6 @@ package propertyfx import ( "errors" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/vms/components/verify" "github.com/ava-labs/avalanchego/vms/secp256k1fx" ) @@ -32,7 +31,7 @@ func (fx *Fx) Initialize(vmIntf interface{}) error { log.Debug("initializing nft fx") c := fx.VM.CodecRegistry() - return utils.Err( + return errors.Join( c.RegisterType(&MintOutput{}), c.RegisterType(&OwnedOutput{}), c.RegisterType(&MintOperation{}), diff --git a/vms/proposervm/block/codec.go b/vms/proposervm/block/codec.go index a00ad7de2506..bd6099ded242 100644 --- a/vms/proposervm/block/codec.go +++ b/vms/proposervm/block/codec.go @@ -4,11 +4,11 @@ package block import ( + "errors" "math" "github.com/ava-labs/avalanchego/codec" "github.com/ava-labs/avalanchego/codec/linearcodec" - "github.com/ava-labs/avalanchego/utils" ) const CodecVersion = 0 @@ -21,7 +21,7 @@ func init() { // See: [constants.DefaultMaxMessageSize] Codec = codec.NewManager(math.MaxInt) - err := utils.Err( + err := errors.Join( lc.RegisterType(&statelessBlock{}), lc.RegisterType(&option{}), Codec.RegisterCodec(CodecVersion, lc), diff --git a/vms/proposervm/vm.go b/vms/proposervm/vm.go index f5916fcf9f42..2baf8064e4e3 100644 --- a/vms/proposervm/vm.go +++ b/vms/proposervm/vm.go @@ -23,7 +23,6 @@ import ( "github.com/ava-labs/avalanchego/snow/consensus/snowman" "github.com/ava-labs/avalanchego/snow/engine/common" "github.com/ava-labs/avalanchego/snow/engine/snowman/block" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/constants" "github.com/ava-labs/avalanchego/utils/math" "github.com/ava-labs/avalanchego/utils/timer/mockable" @@ -234,7 +233,7 @@ func (vm *VM) Initialize( Buckets: []float64{0.5, 1.5, 2.5}, }) - return utils.Err( + return errors.Join( vm.Config.Registerer.Register(vm.proposerBuildSlotGauge), vm.Config.Registerer.Register(vm.acceptedBlocksSlotHistogram), ) diff --git a/vms/secp256k1fx/fx.go b/vms/secp256k1fx/fx.go index 8c1cfa53bf9a..b5457eb99dec 100644 --- a/vms/secp256k1fx/fx.go +++ b/vms/secp256k1fx/fx.go @@ -9,7 +9,6 @@ import ( "github.com/ava-labs/avalanchego/cache" "github.com/ava-labs/avalanchego/ids" - "github.com/ava-labs/avalanchego/utils" "github.com/ava-labs/avalanchego/utils/crypto/secp256k1" "github.com/ava-labs/avalanchego/utils/hashing" "github.com/ava-labs/avalanchego/vms/components/verify" @@ -60,7 +59,7 @@ func (fx *Fx) Initialize(vmIntf interface{}) error { }, } c := fx.VM.CodecRegistry() - return utils.Err( + return errors.Join( c.RegisterType(&TransferInput{}), c.RegisterType(&MintOutput{}), c.RegisterType(&TransferOutput{}), diff --git a/vms/txs/mempool/metrics.go b/vms/txs/mempool/metrics.go index 7ad316082b7f..b60f849ac9cd 100644 --- a/vms/txs/mempool/metrics.go +++ b/vms/txs/mempool/metrics.go @@ -4,9 +4,9 @@ package mempool import ( - "github.com/prometheus/client_golang/prometheus" + "errors" - "github.com/ava-labs/avalanchego/utils" + "github.com/prometheus/client_golang/prometheus" ) var _ Metrics = (*metrics)(nil) @@ -30,7 +30,7 @@ func NewMetrics(namespace string, registerer prometheus.Registerer) (*metrics, e }), } - err := utils.Err( + err := errors.Join( registerer.Register(m.numTxs), registerer.Register(m.bytesAvailableMetric), ) diff --git a/x/merkledb/metrics.go b/x/merkledb/metrics.go index b9517ce9cd59..6266462913f3 100644 --- a/x/merkledb/metrics.go +++ b/x/merkledb/metrics.go @@ -4,11 +4,10 @@ package merkledb import ( + "errors" "sync" "github.com/prometheus/client_golang/prometheus" - - "github.com/ava-labs/avalanchego/utils" ) const ( @@ -116,7 +115,7 @@ func newMetrics(namespace string, reg prometheus.Registerer) (metrics, error) { Help: "cumulative number of in-memory lookups performed", }, lookupLabels), } - err := utils.Err( + err := errors.Join( reg.Register(m.hashes), reg.Register(m.io), reg.Register(m.lookup), diff --git a/x/sync/metrics.go b/x/sync/metrics.go index fb27e6b45ffb..0ece8dddd3fb 100644 --- a/x/sync/metrics.go +++ b/x/sync/metrics.go @@ -4,11 +4,10 @@ package sync import ( + "errors" "sync" "github.com/prometheus/client_golang/prometheus" - - "github.com/ava-labs/avalanchego/utils" ) var ( @@ -74,7 +73,7 @@ func NewMetrics(namespace string, reg prometheus.Registerer) (SyncMetrics, error Help: "cumulative amount of proof requests that were successful", }), } - err := utils.Err( + err := errors.Join( reg.Register(m.requestsFailed), reg.Register(m.requestsMade), reg.Register(m.requestsSucceeded),